Legend:
- Unmodified
- Added
- Removed
-
trunk/src/Yworkdir/Y1sinobad.h
r9 r14 59 59 //~~~~~~~~~~~~~~~~~~~~~~~~~ module sshn_c~~~~~~~~~~~~~~~~~~~~~~~~~ 60 60 #define Yid_sshn_c 0 61 #define YNBPTARGET_sshn_c 062 #define YDEBTARGET_sshn_c 063 #define YENDTARGET_sshn_c 064 61 /*M2_VALST */ #define Ydelta_sshn_c(v, i, j, t) Ysshn_c[i][j]->Ydelta[t][v] 65 62 /*M2_VALST */ #define YD_sshn_c(v, i, j, t) Ysshn_c[i][j]->Ydelta[t][v] … … 80 77 /*M2_VALSGI */ #define YG1_sshn_c(i, j) Ysshn_c[i][j]->Ygrad[0] 81 78 /*M2_HERESGI*/ #define YG1Y_sshn_c Ysshn_c[Yi][Yj]->Ygrad[0] 82 /*M2_VALSG */ #define Yepsi_sshn_c(v, i, j) Ysshn_c[i][j]->Yepsi[v]83 /*M2_VALSG */ #define YE_sshn_c(v, i, j) Ysshn_c[i][j]->Yepsi[v]84 /*M2_VALSGI */ #define YE1_sshn_c(i, j) Ysshn_c[i][j]->Yepsi[0]85 79 Yaosshn_c *Ysshn_c[YA1_S3d][YA2_S3d]; 86 /*M2_VALSG */ #define Ywish_sshn_c(v, i, j) Ysshn_c[i][j]->Ywish[v]87 /*M2_VALSG */ #define YW_sshn_c(v, i, j) Ysshn_c[i][j]->Ywish[v]88 /*M2_VALSGI */ #define YW1_sshn_c(i, j) Ysshn_c[i][j]->Ywish[0]89 /*M2_HERESGI*/ #define YW1Y_sshn_c Ysshn_c[Yi][Yj]->Ywish[0]90 80 91 81 //~~~~~~~~~~~~~~~~~~~~~~~~~ module ta_c~~~~~~~~~~~~~~~~~~~~~~~~~ … … 122 112 //~~~~~~~~~~~~~~~~~~~~~~~~~ module sa_c~~~~~~~~~~~~~~~~~~~~~~~~~ 123 113 #define Yid_sa_c 2 124 #define YNBPTARGET_sa_c 0125 #define YDEBTARGET_sa_c 0126 #define YENDTARGET_sa_c 0127 114 /*M3_VALST */ #define Ydelta_sa_c(v, i, j, k, t) Ysa_c[i][j][k]->Ydelta[t][v] 128 115 /*M3_VALST */ #define YD_sa_c(v, i, j, k, t) Ysa_c[i][j][k]->Ydelta[t][v] … … 142 129 /*M3_VALSGI */ #define YG1_sa_c(i, j, k) Ysa_c[i][j][k]->Ygrad[0] 143 130 /*M3_HERESGI*/ #define YG1Y_sa_c Ysa_c[Yi][Yj][Yk]->Ygrad[0] 144 /*M3_VALSG */ #define Yepsi_sa_c(v, i, j, k) Ysa_c[i][j][k]->Yepsi[v]145 /*M3_VALSG */ #define YE_sa_c(v, i, j, k) Ysa_c[i][j][k]->Yepsi[v]146 /*M3_VALSGI */ #define YE1_sa_c(i, j, k) Ysa_c[i][j][k]->Yepsi[0]147 131 Yaosa_c *Ysa_c[YA1_S3d][YA2_S3d][YA3_S3d]; 148 /*M3_VALSG */ #define Ywish_sa_c(v, i, j, k) Ysa_c[i][j][k]->Ywish[v]149 /*M3_VALSG */ #define YW_sa_c(v, i, j, k) Ysa_c[i][j][k]->Ywish[v]150 /*M3_VALSGI */ #define YW1_sa_c(i, j, k) Ysa_c[i][j][k]->Ywish[0]151 /*M3_HERESGI*/ #define YW1Y_sa_c Ysa_c[Yi][Yj][Yk]->Ywish[0]152 132 153 133 //~~~~~~~~~~~~~~~~~~~~~~~~~ module ua_c~~~~~~~~~~~~~~~~~~~~~~~~~ 154 134 #define Yid_ua_c 3 155 #define YNBPTARGET_ua_c 0156 #define YDEBTARGET_ua_c 0157 #define YENDTARGET_ua_c 0158 135 /*M3_VALST */ #define Ydelta_ua_c(v, i, j, k, t) Yua_c[i][j][k]->Ydelta[t][v] 159 136 /*M3_VALST */ #define YD_ua_c(v, i, j, k, t) Yua_c[i][j][k]->Ydelta[t][v] … … 173 150 /*M3_VALSGI */ #define YG1_ua_c(i, j, k) Yua_c[i][j][k]->Ygrad[0] 174 151 /*M3_HERESGI*/ #define YG1Y_ua_c Yua_c[Yi][Yj][Yk]->Ygrad[0] 175 /*M3_VALSG */ #define Yepsi_ua_c(v, i, j, k) Yua_c[i][j][k]->Yepsi[v]176 /*M3_VALSG */ #define YE_ua_c(v, i, j, k) Yua_c[i][j][k]->Yepsi[v]177 /*M3_VALSGI */ #define YE1_ua_c(i, j, k) Yua_c[i][j][k]->Yepsi[0]178 152 Yaoua_c *Yua_c[YA1_S3d][YA2_S3d][YA3_S3d]; 179 /*M3_VALSG */ #define Ywish_ua_c(v, i, j, k) Yua_c[i][j][k]->Ywish[v]180 /*M3_VALSG */ #define YW_ua_c(v, i, j, k) Yua_c[i][j][k]->Ywish[v]181 /*M3_VALSGI */ #define YW1_ua_c(i, j, k) Yua_c[i][j][k]->Ywish[0]182 /*M3_HERESGI*/ #define YW1Y_ua_c Yua_c[Yi][Yj][Yk]->Ywish[0]183 153 184 154 //~~~~~~~~~~~~~~~~~~~~~~~~~ module va_c~~~~~~~~~~~~~~~~~~~~~~~~~ 185 155 #define Yid_va_c 4 186 #define YNBPTARGET_va_c 0187 #define YDEBTARGET_va_c 0188 #define YENDTARGET_va_c 0189 156 /*M3_VALST */ #define Ydelta_va_c(v, i, j, k, t) Yva_c[i][j][k]->Ydelta[t][v] 190 157 /*M3_VALST */ #define YD_va_c(v, i, j, k, t) Yva_c[i][j][k]->Ydelta[t][v] … … 204 171 /*M3_VALSGI */ #define YG1_va_c(i, j, k) Yva_c[i][j][k]->Ygrad[0] 205 172 /*M3_HERESGI*/ #define YG1Y_va_c Yva_c[Yi][Yj][Yk]->Ygrad[0] 206 /*M3_VALSG */ #define Yepsi_va_c(v, i, j, k) Yva_c[i][j][k]->Yepsi[v]207 /*M3_VALSG */ #define YE_va_c(v, i, j, k) Yva_c[i][j][k]->Yepsi[v]208 /*M3_VALSGI */ #define YE1_va_c(i, j, k) Yva_c[i][j][k]->Yepsi[0]209 173 Yaova_c *Yva_c[YA1_S3d][YA2_S3d][YA3_S3d]; 210 /*M3_VALSG */ #define Ywish_va_c(v, i, j, k) Yva_c[i][j][k]->Ywish[v]211 /*M3_VALSG */ #define YW_va_c(v, i, j, k) Yva_c[i][j][k]->Ywish[v]212 /*M3_VALSGI */ #define YW1_va_c(i, j, k) Yva_c[i][j][k]->Ywish[0]213 /*M3_HERESGI*/ #define YW1Y_va_c Yva_c[Yi][Yj][Yk]->Ywish[0]214 174 215 175 //~~~~~~~~~~~~~~~~~~~~~~~~~ module sbcgyre_qsr_qns~~~~~~~~~~~~~~~~~~~~~~~~~ … … 2260 2220 /*M3_HERESIT*/ #define YG1Y_wa Ywa[Yi][Yj][Yk]->Ygrad[YTemps][0] 2261 2221 wa *Ywa[YA1_S3dt][YA2_S3dt][YA3_S3dt]; 2262 #define YSIZEPB 88000//sum of the number of states (output) of all targets2222 #define YSIZEPB 21824//sum of the number of states (output) of all targets 2263 2223 2264 2224 //€ € € € FOR M1QN3 € € € € € € € € € € € € € € € € € € € € € € € 2265 2225 float Y3x[YSIZEPB]; //table for the states of targets 2266 2226 float Y3g[YSIZEPB]; //table for the gradients of targets 2267 #define Y3_SZ_RZ 1760008 //rz dimension2227 #define Y3_SZ_RZ 436488 //rz dimension 2268 2228 float Y3rz[Y3_SZ_RZ]; 2269 2229 #define Y3_SZ_IZ 5 //iz dimension … … 2429 2389 double Ystate[YNBS_sshn_c]; 2430 2390 double Ygrad[YNBS_sshn_c]; 2431 double Yepsi[YNBS_sshn_c];2432 double Ywish[YNBS_sshn_c];2433 2391 double Ydelta[1][YNBS_sshn_c]; 2434 2392 … … 2461 2419 double Ystate[YNBS_sa_c]; 2462 2420 double Ygrad[YNBS_sa_c]; 2463 double Yepsi[YNBS_sa_c];2464 double Ywish[YNBS_sa_c];2465 2421 double Ydelta[1][YNBS_sa_c]; 2466 2422 … … 2477 2433 double Ystate[YNBS_ua_c]; 2478 2434 double Ygrad[YNBS_ua_c]; 2479 double Yepsi[YNBS_ua_c];2480 double Ywish[YNBS_ua_c];2481 2435 double Ydelta[1][YNBS_ua_c]; 2482 2436 … … 2493 2447 double Ystate[YNBS_va_c]; 2494 2448 double Ygrad[YNBS_va_c]; 2495 double Yepsi[YNBS_va_c];2496 double Ywish[YNBS_va_c];2497 2449 double Ydelta[1][YNBS_va_c]; 2498 2450 … … 4097 4049 void Yrazgrad_sshn_c(); 4098 4050 void Ysetstate_sshn_c(); 4099 void Ysetepsi_sshn_c(); 4100 void Yadjust_sshn_c(); 4101 void Y3getstate_sshn_c(float x[]); 4102 void Y3valstate_sshn_c(); 4103 void Y3valgrad_sshn_c(float g[]); void Yrazgrad_ta_c(); 4051 void Yrazgrad_ta_c(); 4104 4052 void Ysetstate_ta_c(); 4105 4053 void Ysetepsi_ta_c(); … … 4109 4057 void Y3valgrad_ta_c(float g[]); void Yrazgrad_sa_c(); 4110 4058 void Ysetstate_sa_c(); 4111 void Ysetepsi_sa_c(); 4112 void Yadjust_sa_c(); 4113 void Y3getstate_sa_c(float x[]); 4114 void Y3valstate_sa_c(); 4115 void Y3valgrad_sa_c(float g[]); void Yrazgrad_ua_c(); 4059 void Yrazgrad_ua_c(); 4116 4060 void Ysetstate_ua_c(); 4117 void Ysetepsi_ua_c(); 4118 void Yadjust_ua_c(); 4119 void Y3getstate_ua_c(float x[]); 4120 void Y3valstate_ua_c(); 4121 void Y3valgrad_ua_c(float g[]); void Yrazgrad_va_c(); 4061 void Yrazgrad_va_c(); 4122 4062 void Ysetstate_va_c(); 4123 void Ysetepsi_va_c(); 4124 void Yadjust_va_c(); 4125 void Y3getstate_va_c(float x[]); 4126 void Y3valstate_va_c(); 4127 void Y3valgrad_va_c(float g[]); void Yrazgrad_sbcgyre_qsr_qns(); 4063 void Yrazgrad_sbcgyre_qsr_qns(); 4128 4064 void Ysetstate_sbcgyre_qsr_qns(); 4129 4065 void Yrazgrad_sbcgyre_emp1(); … … 4321 4257 #define YNBMODUL 87 4322 4258 struct Yst_modul YTabMod[87] = { 4323 {"sshn_c", *Ysshn_c, 2, 32, 22, 0, 0, 1, 0, 0, 1, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S3d"},4259 {"sshn_c", *Ysshn_c, 2, 32, 22, 0, 0, 1, 0, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S3d"}, 4324 4260 {"ta_c", *Yta_c, 3, 32, 22, 31, 0, 1, 0, 0, 1, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S3d"}, 4325 {"sa_c", *Ysa_c, 3, 32, 22, 31, 0, 1, 0, 0, 1, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S3d"},4326 {"ua_c", *Yua_c, 3, 32, 22, 31, 0, 1, 0, 0, 1, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S3d"},4327 {"va_c", *Yva_c, 3, 32, 22, 31, 0, 1, 0, 0, 1, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S3d"},4261 {"sa_c", *Ysa_c, 3, 32, 22, 31, 0, 1, 0, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S3d"}, 4262 {"ua_c", *Yua_c, 3, 32, 22, 31, 0, 1, 0, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S3d"}, 4263 {"va_c", *Yva_c, 3, 32, 22, 31, 0, 1, 0, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 0, "S3d"}, 4328 4264 {"sbcgyre_qsr_qns", *Ysbcgyre_qsr_qns, 2, 32, 22, 0, 1, 2, 52, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1, "S3dt"}, 4329 4265 {"sbcgyre_emp1", *Ysbcgyre_emp1, 2, 32, 22, 0, 0, 1, 52, 0, 0, 0, 0, 1.000000e+00, 1.000000e+00, 1.000000e+00, 1, "S3dt"}, -
trunk/src/Yworkdir/Y2sinobad.h
r9 r14 5 5 6 6 // € € € € € € € € LES FONCTIONS PREDEFINIES 7 /*M2_ADJUS*/ 8 void Yadjust_sshn_c() 9 { 10 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1) 11 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2) 12 for (int Yws=0; Yws<YNBS_sshn_c; ++Yws) 13 { Ystate_sshn_c(Yws, Yw1, Yw2) -= Yepsi_sshn_c(Yws, Yw1, Yw2) * Ygrad_sshn_c(Yws, Yw1, Yw2); 14 } 15 }/*M2_GCTOTB */ 16 void YgradCTOtab_sshn_c(YREAL tab[]) 17 { 18 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){ 19 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){ 20 for (int Yws=0; Yws<YNBS_sshn_c; ++Yws){ 21 tab[Y3windice] += YG_sshn_c(Yws, Yw1, Yw2); ++Y3windice;}}} 22 }/*M2_VSTA*/ 23 void Y3valstate_sshn_c() 24 { 25 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){ 26 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){ 27 for (int Yws=0; Yws<YNBS_sshn_c; ++Yws){ 28 Y3x[Y3windice] = Ysshn_c(Yw1, Yw2)->Ystate[Yws]; ++Y3windice;}}} 29 }/*M2_GSTA*/ 30 void Y3getstate_sshn_c(float x[]) 31 { 32 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){ 33 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){ 34 for (int Yws=0; Yws<YNBS_sshn_c; ++Yws){ 35 Ysshn_c(Yw1, Yw2)->Ystate[Yws] = x[Y3windice]; ++Y3windice;}}} 36 }/*M2_VGRAD*/ 37 void Y3valgrad_sshn_c(float g[]) 38 { 39 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){ 40 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){ 41 for (int Yws=0; Yws<YNBS_sshn_c; ++Yws){ 42 g[Y3windice] = Ysshn_c(Yw1, Yw2)->Ygrad[Yws]; ++Y3windice;}}} 43 }/*M2_TBTOG */ 7 /*M2_TBTOG */ 44 8 void YtabTOgrad_sshn_c(YREAL tab[]) 45 9 { … … 141 105 void Yio_sshn_c(int Yws, int Yw1, int Yw2, int Yw3, int Ywt, double val) 142 106 { Yiorwf ("sshn_c", Yws, Yw1, Yw2, Yw3, Ywt, &YS_sshn_c(Yws, Yw1, Yw2), val); 143 }/*M0_OUTOB*/144 int Youtoobs_sshn_c(YioKind yiokind, int Yws, int Ywt, int arbpdt)145 {146 Yaobs.time = arbpdt;147 Yaobs.imod = Yimod("sshn_c");148 Yaobs.smod = Yws;/*M2_OUTOB*/149 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1)150 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2)151 { if(select_io(yiokind, "sshn_c", Yws, Yw1, Yw2, -1, Ywt, &Ystate_sshn_c(Yws, Yw1, Yw2)))152 { Yaobs.iaxe = Yw1; Yaobs.jaxe = Yw2; Yaobs.kaxe = -1;153 Yaobs.vobs = Ystate_sshn_c(Yws, Yw1, Yw2);154 if(!Yobs_insert (&Yaobs)) return(0);155 }156 }/*M9_OUTOB*/157 return(1);158 }/*M2_SEPS*/159 void Ysetepsi_sshn_c(double val)160 {161 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){162 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){163 for (int Yws=0; Yws<YNBS_sshn_c; ++Yws){164 Ysshn_c(Yw1, Yw2)->Yepsi[Yws] = val;}}}165 107 }/*M2_CREY*/ 166 108 void Ycreate_sshn_c() … … 169 111 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){ 170 112 if ((Ysshn_c(Yw1, Yw2)= new Yaosshn_c ())==NULL) Ycreate_errnew();}} 171 }/*M2_SWISH*/172 void Ysetwish_sshn_c(double val)173 {174 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){175 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){176 for (int Yws=0; Yws<YNBS_sshn_c; ++Yws){177 Ywish_sshn_c(Yws, Yw1, Yw2) = val;}}}178 113 }/*M3_ADJUS*/ 179 114 void Yadjust_ta_c() … … 369 304 for (int Yws=0; Yws<YNBS_ta_c; ++Yws){ 370 305 Ywish_ta_c(Yws, Yw1, Yw2, Yw3) = val;}}}} 371 }/*M3_ADJUS*/372 void Yadjust_sa_c()373 {374 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1)375 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2)376 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3)377 for (int Yws=0; Yws<YNBS_sa_c; ++Yws)378 { Ystate_sa_c(Yws, Yw1, Yw2, Yw3) -= Yepsi_sa_c(Yws, Yw1, Yw2, Yw3) * Ygrad_sa_c(Yws, Yw1, Yw2, Yw3);379 }380 }/*M3_GCTOTB */381 void YgradCTOtab_sa_c(YREAL tab[])382 {383 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){384 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){385 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){386 for (int Yws=0; Yws<YNBS_sa_c; ++Yws){387 tab[Y3windice] += YG_sa_c(Yws, Yw1, Yw2, Yw3); ++Y3windice;}}}}388 }/*M3_VSTA*/389 void Y3valstate_sa_c()390 {391 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){392 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){393 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){394 for (int Yws=0; Yws<YNBS_sa_c; ++Yws){395 Y3x[Y3windice] = Ysa_c(Yw1, Yw2, Yw3)->Ystate[Yws]; ++Y3windice;}}}}396 }/*M3_GSTA*/397 void Y3getstate_sa_c(float x[])398 {399 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){400 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){401 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){402 for (int Yws=0; Yws<YNBS_sa_c; ++Yws){403 Ysa_c(Yw1, Yw2, Yw3)->Ystate[Yws] = x[Y3windice]; ++Y3windice;}}}}404 }/*M3_VGRAD*/405 void Y3valgrad_sa_c(float g[])406 {407 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){408 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){409 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){410 for (int Yws=0; Yws<YNBS_sa_c; ++Yws){411 g[Y3windice] = Ysa_c(Yw1, Yw2, Yw3)->Ygrad[Yws]; ++Y3windice;}}}}412 306 }/*M3_TBTOG */ 413 307 void YtabTOgrad_sa_c(YREAL tab[]) … … 523 417 void Yio_sa_c(int Yws, int Yw1, int Yw2, int Yw3, int Ywt, double val) 524 418 { Yiorwf ("sa_c", Yws, Yw1, Yw2, Yw3, Ywt, &YS_sa_c(Yws, Yw1, Yw2, Yw3), val); 525 }/*M0_OUTOB*/526 int Youtoobs_sa_c(YioKind yiokind, int Yws, int Ywt, int arbpdt)527 {528 Yaobs.time = arbpdt;529 Yaobs.imod = Yimod("sa_c");530 Yaobs.smod = Yws;/*M3_OUTOB*/531 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1)532 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2)533 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3)534 { if(select_io(yiokind, "sa_c", Yws, Yw1, Yw2, Yw3, Ywt, &Ystate_sa_c(Yws, Yw1, Yw2, Yw3)))535 { Yaobs.iaxe = Yw1; Yaobs.jaxe = Yw2; Yaobs.kaxe = Yw3;536 Yaobs.vobs = Ystate_sa_c(Yws, Yw1, Yw2, Yw3);537 if(!Yobs_insert (&Yaobs)) return(0);538 }539 }/*M9_OUTOB*/540 return(1);541 }/*M3_SEPS*/542 void Ysetepsi_sa_c(double val)543 {544 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){545 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){546 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){547 for (int Yws=0; Yws<YNBS_sa_c; ++Yws){548 Ysa_c(Yw1, Yw2, Yw3)->Yepsi[Yws] = val;}}}}549 419 }/*M3_CREY*/ 550 420 void Ycreate_sa_c() … … 554 424 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){ 555 425 if ((Ysa_c(Yw1, Yw2, Yw3) = new Yaosa_c ())==NULL) Ycreate_errnew();}}} 556 }/*M3_SWISH*/557 void Ysetwish_sa_c(double val)558 {559 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){560 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){561 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){562 for (int Yws=0; Yws<YNBS_sa_c; ++Yws){563 Ywish_sa_c(Yws, Yw1, Yw2, Yw3) = val;}}}}564 }/*M3_ADJUS*/565 void Yadjust_ua_c()566 {567 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1)568 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2)569 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3)570 for (int Yws=0; Yws<YNBS_ua_c; ++Yws)571 { Ystate_ua_c(Yws, Yw1, Yw2, Yw3) -= Yepsi_ua_c(Yws, Yw1, Yw2, Yw3) * Ygrad_ua_c(Yws, Yw1, Yw2, Yw3);572 }573 }/*M3_GCTOTB */574 void YgradCTOtab_ua_c(YREAL tab[])575 {576 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){577 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){578 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){579 for (int Yws=0; Yws<YNBS_ua_c; ++Yws){580 tab[Y3windice] += YG_ua_c(Yws, Yw1, Yw2, Yw3); ++Y3windice;}}}}581 }/*M3_VSTA*/582 void Y3valstate_ua_c()583 {584 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){585 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){586 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){587 for (int Yws=0; Yws<YNBS_ua_c; ++Yws){588 Y3x[Y3windice] = Yua_c(Yw1, Yw2, Yw3)->Ystate[Yws]; ++Y3windice;}}}}589 }/*M3_GSTA*/590 void Y3getstate_ua_c(float x[])591 {592 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){593 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){594 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){595 for (int Yws=0; Yws<YNBS_ua_c; ++Yws){596 Yua_c(Yw1, Yw2, Yw3)->Ystate[Yws] = x[Y3windice]; ++Y3windice;}}}}597 }/*M3_VGRAD*/598 void Y3valgrad_ua_c(float g[])599 {600 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){601 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){602 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){603 for (int Yws=0; Yws<YNBS_ua_c; ++Yws){604 g[Y3windice] = Yua_c(Yw1, Yw2, Yw3)->Ygrad[Yws]; ++Y3windice;}}}}605 426 }/*M3_TBTOG */ 606 427 void YtabTOgrad_ua_c(YREAL tab[]) … … 716 537 void Yio_ua_c(int Yws, int Yw1, int Yw2, int Yw3, int Ywt, double val) 717 538 { Yiorwf ("ua_c", Yws, Yw1, Yw2, Yw3, Ywt, &YS_ua_c(Yws, Yw1, Yw2, Yw3), val); 718 }/*M0_OUTOB*/719 int Youtoobs_ua_c(YioKind yiokind, int Yws, int Ywt, int arbpdt)720 {721 Yaobs.time = arbpdt;722 Yaobs.imod = Yimod("ua_c");723 Yaobs.smod = Yws;/*M3_OUTOB*/724 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1)725 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2)726 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3)727 { if(select_io(yiokind, "ua_c", Yws, Yw1, Yw2, Yw3, Ywt, &Ystate_ua_c(Yws, Yw1, Yw2, Yw3)))728 { Yaobs.iaxe = Yw1; Yaobs.jaxe = Yw2; Yaobs.kaxe = Yw3;729 Yaobs.vobs = Ystate_ua_c(Yws, Yw1, Yw2, Yw3);730 if(!Yobs_insert (&Yaobs)) return(0);731 }732 }/*M9_OUTOB*/733 return(1);734 }/*M3_SEPS*/735 void Ysetepsi_ua_c(double val)736 {737 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){738 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){739 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){740 for (int Yws=0; Yws<YNBS_ua_c; ++Yws){741 Yua_c(Yw1, Yw2, Yw3)->Yepsi[Yws] = val;}}}}742 539 }/*M3_CREY*/ 743 540 void Ycreate_ua_c() … … 747 544 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){ 748 545 if ((Yua_c(Yw1, Yw2, Yw3) = new Yaoua_c ())==NULL) Ycreate_errnew();}}} 749 }/*M3_SWISH*/750 void Ysetwish_ua_c(double val)751 {752 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){753 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){754 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){755 for (int Yws=0; Yws<YNBS_ua_c; ++Yws){756 Ywish_ua_c(Yws, Yw1, Yw2, Yw3) = val;}}}}757 }/*M3_ADJUS*/758 void Yadjust_va_c()759 {760 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1)761 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2)762 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3)763 for (int Yws=0; Yws<YNBS_va_c; ++Yws)764 { Ystate_va_c(Yws, Yw1, Yw2, Yw3) -= Yepsi_va_c(Yws, Yw1, Yw2, Yw3) * Ygrad_va_c(Yws, Yw1, Yw2, Yw3);765 }766 }/*M3_GCTOTB */767 void YgradCTOtab_va_c(YREAL tab[])768 {769 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){770 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){771 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){772 for (int Yws=0; Yws<YNBS_va_c; ++Yws){773 tab[Y3windice] += YG_va_c(Yws, Yw1, Yw2, Yw3); ++Y3windice;}}}}774 }/*M3_VSTA*/775 void Y3valstate_va_c()776 {777 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){778 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){779 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){780 for (int Yws=0; Yws<YNBS_va_c; ++Yws){781 Y3x[Y3windice] = Yva_c(Yw1, Yw2, Yw3)->Ystate[Yws]; ++Y3windice;}}}}782 }/*M3_GSTA*/783 void Y3getstate_va_c(float x[])784 {785 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){786 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){787 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){788 for (int Yws=0; Yws<YNBS_va_c; ++Yws){789 Yva_c(Yw1, Yw2, Yw3)->Ystate[Yws] = x[Y3windice]; ++Y3windice;}}}}790 }/*M3_VGRAD*/791 void Y3valgrad_va_c(float g[])792 {793 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){794 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){795 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){796 for (int Yws=0; Yws<YNBS_va_c; ++Yws){797 g[Y3windice] = Yva_c(Yw1, Yw2, Yw3)->Ygrad[Yws]; ++Y3windice;}}}}798 546 }/*M3_TBTOG */ 799 547 void YtabTOgrad_va_c(YREAL tab[]) … … 909 657 void Yio_va_c(int Yws, int Yw1, int Yw2, int Yw3, int Ywt, double val) 910 658 { Yiorwf ("va_c", Yws, Yw1, Yw2, Yw3, Ywt, &YS_va_c(Yws, Yw1, Yw2, Yw3), val); 911 }/*M0_OUTOB*/912 int Youtoobs_va_c(YioKind yiokind, int Yws, int Ywt, int arbpdt)913 {914 Yaobs.time = arbpdt;915 Yaobs.imod = Yimod("va_c");916 Yaobs.smod = Yws;/*M3_OUTOB*/917 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1)918 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2)919 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3)920 { if(select_io(yiokind, "va_c", Yws, Yw1, Yw2, Yw3, Ywt, &Ystate_va_c(Yws, Yw1, Yw2, Yw3)))921 { Yaobs.iaxe = Yw1; Yaobs.jaxe = Yw2; Yaobs.kaxe = Yw3;922 Yaobs.vobs = Ystate_va_c(Yws, Yw1, Yw2, Yw3);923 if(!Yobs_insert (&Yaobs)) return(0);924 }925 }/*M9_OUTOB*/926 return(1);927 }/*M3_SEPS*/928 void Ysetepsi_va_c(double val)929 {930 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){931 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){932 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){933 for (int Yws=0; Yws<YNBS_va_c; ++Yws){934 Yva_c(Yw1, Yw2, Yw3)->Yepsi[Yws] = val;}}}}935 659 }/*M3_CREY*/ 936 660 void Ycreate_va_c() … … 940 664 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){ 941 665 if ((Yva_c(Yw1, Yw2, Yw3) = new Yaova_c ())==NULL) Ycreate_errnew();}}} 942 }/*M3_SWISH*/943 void Ysetwish_va_c(double val)944 {945 for (int Yw1=0; Yw1<YA1_S3d; ++Yw1){946 for (int Yw2=0; Yw2<YA2_S3d; ++Yw2){947 for (int Yw3=0; Yw3<YA3_S3d; ++Yw3){948 for (int Yws=0; Yws<YNBS_va_c; ++Yws){949 Ywish_va_c(Yws, Yw1, Yw2, Yw3) = val;}}}}950 666 }/*M2_TBTOGT */ 951 667 void YtabTOgrad_sbcgyre_qsr_qns(int frompdt, int topdt, YREAL tab[]) … … 13651 13367 { 13652 13368 if(1==0); 13653 else if (strcmp(nmmod, "sshn_c") == 0)13654 YW_sshn_c(Yws, Yw1, Yw2) = YS_sshn_c(Yws, Yw1, Yw2) - vobs;13655 13369 else if (strcmp(nmmod, "ta_c") == 0) 13656 13370 YW_ta_c(Yws, Yw1, Yw2, Yw3) = YS_ta_c(Yws, Yw1, Yw2, Yw3) - vobs; 13657 else if (strcmp(nmmod, "sa_c") == 0)13658 YW_sa_c(Yws, Yw1, Yw2, Yw3) = YS_sa_c(Yws, Yw1, Yw2, Yw3) - vobs;13659 else if (strcmp(nmmod, "ua_c") == 0)13660 YW_ua_c(Yws, Yw1, Yw2, Yw3) = YS_ua_c(Yws, Yw1, Yw2, Yw3) - vobs;13661 else if (strcmp(nmmod, "va_c") == 0)13662 YW_va_c(Yws, Yw1, Yw2, Yw3) = YS_va_c(Yws, Yw1, Yw2, Yw3) - vobs;13663 13371 else if (strcmp(nmmod, "tb") == 0) 13664 13372 YW_tb(Yws, Yw1, Yw2, Yw3) = YS_tb(Yws, Yw1, Yw2, Yw3, Ywt) - vobs; … … 13675 13383 { 13676 13384 if(1==0); 13677 else if (strcmp(nmmod, "sshn_c") == 0)13678 YG_sshn_c(Yws, Yw1, Yw2) += Ycostdiff(YW_sshn_c(Yws, Yw1, Yw2), YW_sshn_c(Yws, Yw1, Yw2));13679 13385 else if (strcmp(nmmod, "ta_c") == 0) 13680 13386 YG_ta_c(Yws, Yw1, Yw2, Yw3) += Ycostdiff(YW_ta_c(Yws, Yw1, Yw2, Yw3), YW_ta_c(Yws, Yw1, Yw2, Yw3)); 13681 else if (strcmp(nmmod, "sa_c") == 0)13682 YG_sa_c(Yws, Yw1, Yw2, Yw3) += Ycostdiff(YW_sa_c(Yws, Yw1, Yw2, Yw3), YW_sa_c(Yws, Yw1, Yw2, Yw3));13683 else if (strcmp(nmmod, "ua_c") == 0)13684 YG_ua_c(Yws, Yw1, Yw2, Yw3) += Ycostdiff(YW_ua_c(Yws, Yw1, Yw2, Yw3), YW_ua_c(Yws, Yw1, Yw2, Yw3));13685 else if (strcmp(nmmod, "va_c") == 0)13686 YG_va_c(Yws, Yw1, Yw2, Yw3) += Ycostdiff(YW_va_c(Yws, Yw1, Yw2, Yw3), YW_va_c(Yws, Yw1, Yw2, Yw3));13687 13387 else if (strcmp(nmmod, "tb") == 0) 13688 13388 YG_tb(Yws, Yw1, Yw2, Yw3, Ywt) += Ycostdiff(YW_tb(Yws, Yw1, Yw2, Yw3), YW_tb(Yws, Yw1, Yw2, Yw3)); … … 13699 13399 { 13700 13400 if(1==0); 13701 else if (strcmp(nmmod, "sshn_c") == 0) Youtoobs_sshn_c(yiokind, numout, pdt, arbpdt);13702 13401 else if (strcmp(nmmod, "ta_c") == 0) Youtoobs_ta_c(yiokind, numout, pdt, arbpdt); 13703 else if (strcmp(nmmod, "sa_c") == 0) Youtoobs_sa_c(yiokind, numout, pdt, arbpdt);13704 else if (strcmp(nmmod, "ua_c") == 0) Youtoobs_ua_c(yiokind, numout, pdt, arbpdt);13705 else if (strcmp(nmmod, "va_c") == 0) Youtoobs_va_c(yiokind, numout, pdt, arbpdt);13706 13402 else if (strcmp(nmmod, "tb") == 0) Youtoobs_tb(yiokind, numout, pdt, arbpdt); 13707 13403 else if (strcmp(nmmod, "sb") == 0) Youtoobs_sb(yiokind, numout, pdt, arbpdt); … … 13712 13408 void Yadjust_all () 13713 13409 { 13714 Yadjust_sshn_c ();13715 13410 Yadjust_ta_c (); 13716 Yadjust_sa_c ();13717 Yadjust_ua_c ();13718 Yadjust_va_c ();13719 13411 } 13720 13412 void Yrazgrad_all () … … 13997 13689 void Ysetwish_mod (int imod, YREAL val) 13998 13690 { if(1==0); 13999 else if (imod==0) Ysetwish_sshn_c(val);14000 13691 else if (imod==1) Ysetwish_ta_c(val); 14001 else if (imod==2) Ysetwish_sa_c(val);14002 else if (imod==3) Ysetwish_ua_c(val);14003 else if (imod==4) Ysetwish_va_c(val);14004 13692 else if (imod==38) Ysetwish_tb(val); 14005 13693 else if (imod==39) Ysetwish_sb(val); … … 14101 13789 void YgradCTOtab_target (YREAL tab[]) 14102 13790 { //Y3windice = 0; 14103 YgradCTOtab_sshn_c (tab);14104 13791 YgradCTOtab_ta_c (tab); 14105 YgradCTOtab_sa_c (tab);14106 YgradCTOtab_ua_c (tab);14107 YgradCTOtab_va_c (tab);14108 13792 } 14109 13793 void YtabTOgrad_target (YREAL tab[]) 14110 13794 { //Y3windice = 0; 14111 YtabTOgrad_sshn_c (tab);14112 13795 YtabTOgrad_ta_c (tab); 14113 YtabTOgrad_sa_c (tab);14114 YtabTOgrad_ua_c (tab);14115 YtabTOgrad_va_c (tab);14116 13796 } 14117 13797 void Y3getstate_all (float x[]) 14118 13798 { Y3windice = 0; 14119 Y3getstate_sshn_c (x);14120 13799 Y3getstate_ta_c (x); 14121 Y3getstate_sa_c (x);14122 Y3getstate_ua_c (x);14123 Y3getstate_va_c (x);14124 13800 } 14125 13801 void Y3valstate_all () 14126 13802 { Y3windice = 0; 14127 Y3valstate_sshn_c ();14128 13803 Y3valstate_ta_c (); 14129 Y3valstate_sa_c ();14130 Y3valstate_ua_c ();14131 Y3valstate_va_c ();14132 13804 } 14133 13805 void Y3valgrad_all (float g[]) 14134 13806 { Y3windice = 0; 14135 Y3valgrad_sshn_c (g);14136 13807 Y3valgrad_ta_c (g); 14137 Y3valgrad_sa_c (g);14138 Y3valgrad_ua_c (g);14139 Y3valgrad_va_c (g);14140 13808 } 14141 13809 void YdeltaEQPstate_traj(int itraj, char *norkmod, int frompdt, int topdt, double pfact) … … 14144 13812 else if (itraj==Yid_Tcst) 14145 13813 { 14146 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))13814 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") ) 14147 13815 YdeltaEQPstate_sshn_c (0, 1, pfact); 14148 13816 if ( !strcmp(norkmod, "ta_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T") ) 14149 13817 YdeltaEQPstate_ta_c (0, 1, pfact); 14150 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))13818 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") ) 14151 13819 YdeltaEQPstate_sa_c (0, 1, pfact); 14152 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))13820 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") ) 14153 13821 YdeltaEQPstate_ua_c (0, 1, pfact); 14154 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))13822 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") ) 14155 13823 YdeltaEQPstate_va_c (0, 1, pfact); 14156 13824 } … … 14325 13993 void YdeltaEQPstate_target(double pfact) 14326 13994 { 14327 YdeltaEQPstate_sshn_c (0, 1, pfact);14328 13995 YdeltaEQPstate_ta_c (0, 1, pfact); 14329 YdeltaEQPstate_sa_c (0, 1, pfact);14330 YdeltaEQPstate_ua_c (0, 1, pfact);14331 YdeltaEQPstate_va_c (0, 1, pfact);14332 13996 } 14333 13997 void YdeltaEQPgrad_target(double pfact) 14334 13998 { 14335 YdeltaEQPgrad_sshn_c (0, 1, pfact);14336 13999 YdeltaEQPgrad_ta_c (0, 1, pfact); 14337 YdeltaEQPgrad_sa_c (0, 1, pfact);14338 YdeltaEQPgrad_ua_c (0, 1, pfact);14339 YdeltaEQPgrad_va_c (0, 1, pfact);14340 14000 } 14341 14001 void YstateEQPdelta_traj(int itraj, char *norkmod, int frompdt, int topdt, double pfact) … … 14344 14004 else if (itraj==Yid_Tcst) 14345 14005 { 14346 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14006 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") ) 14347 14007 YstateEQPdelta_sshn_c (0, 1, pfact); 14348 14008 if ( !strcmp(norkmod, "ta_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T") ) 14349 14009 YstateEQPdelta_ta_c (0, 1, pfact); 14350 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14010 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") ) 14351 14011 YstateEQPdelta_sa_c (0, 1, pfact); 14352 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14012 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") ) 14353 14013 YstateEQPdelta_ua_c (0, 1, pfact); 14354 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14014 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") ) 14355 14015 YstateEQPdelta_va_c (0, 1, pfact); 14356 14016 } … … 14525 14185 void YstateEQPdelta_target(double pfact) 14526 14186 { 14527 YstateEQPdelta_sshn_c (0, 1, pfact);14528 14187 YstateEQPdelta_ta_c (0, 1, pfact); 14529 YstateEQPdelta_sa_c (0, 1, pfact);14530 YstateEQPdelta_ua_c (0, 1, pfact);14531 YstateEQPdelta_va_c (0, 1, pfact);14532 14188 } 14533 14189 void YstateEQPOdelta_target(double pfact, char *codop) 14534 14190 { 14535 YstateEQPOdelta_sshn_c (0, 1, pfact, codop);14536 14191 YstateEQPOdelta_ta_c (0, 1, pfact, codop); 14537 YstateEQPOdelta_sa_c (0, 1, pfact, codop);14538 YstateEQPOdelta_ua_c (0, 1, pfact, codop);14539 YstateEQPOdelta_va_c (0, 1, pfact, codop);14540 14192 } 14541 14193 void YstateEQAPTdelta_target(double pfact, YREAL tab[]) 14542 14194 { 14543 YstateEQAPTdelta_sshn_c (0, 1, pfact, tab);14544 14195 YstateEQAPTdelta_ta_c (0, 1, pfact, tab); 14545 YstateEQAPTdelta_sa_c (0, 1, pfact, tab);14546 YstateEQAPTdelta_ua_c (0, 1, pfact, tab);14547 YstateEQAPTdelta_va_c (0, 1, pfact, tab);14548 14196 } 14549 14197 void YgradEQPstate_traj(int itraj, char *norkmod, int frompdt, int topdt, double pfact) … … 14552 14200 else if (itraj==Yid_Tcst) 14553 14201 { 14554 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14202 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") ) 14555 14203 YgradEQPstate_sshn_c(pfact); 14556 14204 if ( !strcmp(norkmod, "ta_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T") ) 14557 14205 YgradEQPstate_ta_c(pfact); 14558 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14206 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") ) 14559 14207 YgradEQPstate_sa_c(pfact); 14560 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14208 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") ) 14561 14209 YgradEQPstate_ua_c(pfact); 14562 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14210 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") ) 14563 14211 YgradEQPstate_va_c(pfact); 14564 14212 } … … 14733 14381 void YgradEQPstate_target(double pfact) 14734 14382 { 14735 YgradEQPstate_sshn_c (pfact);14736 14383 YgradEQPstate_ta_c (pfact); 14737 YgradEQPstate_sa_c (pfact);14738 YgradEQPstate_ua_c (pfact);14739 YgradEQPstate_va_c (pfact);14740 14384 } 14741 14385 void YgradEQPOstate_target(double pfact, char *codop) 14742 14386 { 14743 YgradEQPOstate_sshn_c (pfact, codop);14744 14387 YgradEQPOstate_ta_c (pfact, codop); 14745 YgradEQPOstate_sa_c (pfact, codop);14746 YgradEQPOstate_ua_c (pfact, codop);14747 YgradEQPOstate_va_c (pfact, codop);14748 14388 } 14749 14389 void YstateTOtab_traj (int itraj, char *norkmod, int frompdt, int topdt, YREAL tab[]) … … 14752 14392 else if (itraj==Yid_Tcst) 14753 14393 { 14754 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14394 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") ) 14755 14395 YstateTOtab_sshn_c (tab); 14756 14396 if ( !strcmp(norkmod, "ta_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T") ) 14757 14397 YstateTOtab_ta_c (tab); 14758 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14398 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") ) 14759 14399 YstateTOtab_sa_c (tab); 14760 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14400 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") ) 14761 14401 YstateTOtab_ua_c (tab); 14762 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14402 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") ) 14763 14403 YstateTOtab_va_c (tab); 14764 14404 } … … 14933 14573 void YstateTOtab_target (YREAL tab[]) 14934 14574 { //Y3windice = 0; 14935 YstateTOtab_sshn_c (tab);14936 14575 YstateTOtab_ta_c (tab); 14937 YstateTOtab_sa_c (tab);14938 YstateTOtab_ua_c (tab);14939 YstateTOtab_va_c (tab);14940 14576 } 14941 14577 void YgradTOtab_traj (int itraj, char *norkmod, int frompdt, int topdt, YREAL tab[]) … … 14944 14580 else if (itraj==Yid_Tcst) 14945 14581 { 14946 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14582 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") ) 14947 14583 YgradTOtab_sshn_c (tab); 14948 14584 if ( !strcmp(norkmod, "ta_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T") ) 14949 14585 YgradTOtab_ta_c (tab); 14950 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14586 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") ) 14951 14587 YgradTOtab_sa_c (tab); 14952 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14588 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") ) 14953 14589 YgradTOtab_ua_c (tab); 14954 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14590 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") ) 14955 14591 YgradTOtab_va_c (tab); 14956 14592 } … … 15125 14761 void YgradTOtab_target (YREAL tab[]) 15126 14762 { //Y3windice = 0; 15127 YgradTOtab_sshn_c (tab);15128 14763 YgradTOtab_ta_c (tab); 15129 YgradTOtab_sa_c (tab);15130 YgradTOtab_ua_c (tab);15131 YgradTOtab_va_c (tab);15132 14764 } 15133 14765 void YtabTOgrad_traj (int itraj, char *norkmod, int frompdt, int topdt, YREAL tab[]) … … 15136 14768 else if (itraj==Yid_Tcst) 15137 14769 { 15138 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14770 if ( !strcmp(norkmod, "sshn_c") || !strcmp(norkmod, "Y#A") ) 15139 14771 YtabTOgrad_sshn_c (tab); 15140 14772 if ( !strcmp(norkmod, "ta_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T") ) 15141 14773 YtabTOgrad_ta_c (tab); 15142 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14774 if ( !strcmp(norkmod, "sa_c") || !strcmp(norkmod, "Y#A") ) 15143 14775 YtabTOgrad_sa_c (tab); 15144 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14776 if ( !strcmp(norkmod, "ua_c") || !strcmp(norkmod, "Y#A") ) 15145 14777 YtabTOgrad_ua_c (tab); 15146 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") || !strcmp(norkmod, "Y#T"))14778 if ( !strcmp(norkmod, "va_c") || !strcmp(norkmod, "Y#A") ) 15147 14779 YtabTOgrad_va_c (tab); 15148 14780 } … … 15495 15127 { 15496 15128 if (!strcmp(argv[0], "setepsi_all") || !strcmp(argv[0], "SETEPSI_ALL")){all=1; val=atof(argv[1]);} else val=atof(argv[2]); 15497 if (!strcmp(argv[1], "sshn_c") || all)15498 {Ysetepsi_sshn_c(val);codret=1;}15499 15129 if (!strcmp(argv[1], "ta_c") || all) 15500 15130 {Ysetepsi_ta_c(val);codret=1;} 15501 if (!strcmp(argv[1], "sa_c") || all)15502 {Ysetepsi_sa_c(val);codret=1;}15503 if (!strcmp(argv[1], "ua_c") || all)15504 {Ysetepsi_ua_c(val);codret=1;}15505 if (!strcmp(argv[1], "va_c") || all)15506 {Ysetepsi_va_c(val);codret=1;}15507 15131 } 15508 15132 else codret=0; … … 24824 24448 else if (strcmp(argv[0], "xchangesavemode") == 0) 24825 24449 xchangesavemode(argc, argv); 24450 else if (strcmp(argv[0], "xwriteout") == 0) 24451 xwriteout(argc, argv); 24452 else if (strcmp(argv[0], "xinitnc") == 0) 24453 xinitnc(argc, argv); 24826 24454 else codret=0; 24827 24455 return(codret); -
trunk/src/cost.dat
r10 r14 3 3 0.0000000000000000e+00 4 4 2.9733593674719423e+03 5 2.9095139883673278e+03 6 2.4330312362758295e+03 7 2.0642529387596464e+03 8 1.9211236976402699e+03 9 1.7958968029352288e+03 10 1.6298045122109095e+03 11 1.5076021103427668e+03 12 1.5000076375290523e+03 13 1.4276397352270269e+03 14 1.3110968128873515e+03 15 1.2801012445744680e+03 16 1.3104813902608603e+03 17 1.2829552646049826e+03 18 1.2833299063134032e+03 19 1.2847663831547602e+03 20 1.2891132528206504e+03 21 1.2818428187933409e+03 22 1.2764982097924344e+03 23 1.2809727315336945e+03 24 1.2417113477527846e+03 25 1.6709113736713609e+03 26 1.2583333872621713e+03 27 1.2582520427303459e+03 28 1.2550104229729704e+03 29 1.2499876871051058e+03 30 1.2656188241658340e+03 31 1.2643832627133945e+03 32 1.2554231947828837e+03 33 1.2476636563166230e+03 34 1.2489695361098022e+03 35 1.2530459381768840e+03 36 1.2484393921698424e+03 37 1.2470596346544980e+03 38 1.2477431325355756e+03 39 1.2511259156307392e+03 40 1.2407190501617613e+03 41 1.2406815136035698e+03 5 2.9046564674634410e+03 6 2.8844078750994972e+03 7 2.1533662170138909e+03 8 3.7645353988317231e+02 9 2.1743622020262393e+02 10 1.3325376402313574e+02 11 1.0089472892137428e+02 12 9.3476389696007189e+01 13 8.8719928304913211e+01 14 9.0834543682672248e+01 15 8.8130698029267435e+01 16 9.0170152793152795e+01 17 8.8265477839190027e+01 18 8.8281377590830218e+01 19 8.8710953227195915e+01 20 8.9177210220475857e+01 21 9.0343293430849968e+01 22 9.0156125898119669e+01 23 8.7443014766499118e+01 24 8.7378898959154185e+01 25 9.0197838294519727e+01 26 9.0231123456027703e+01 27 9.0251747653212306e+01 28 9.0266310888836969e+01 29 8.7354177212549217e+01 30 8.7352312614036819e+01 31 9.0268596517281566e+01 32 9.0270225161585003e+01 -
trunk/src/sinobad.d
r9 r14 45 45 #modul pca_ta space S0d noward output NPCA target 46 46 47 modul sshn_c space S3d inter YA1 YA2 noward output 1 target47 modul sshn_c space S3d inter YA1 YA2 noward output 1 |target 48 48 49 49 modul ta_c space S3d noward output 1 target … … 51 51 #modul ta_c space S3d input array NPCA output 1 52 52 53 modul sa_c space S3d noward output 1 target54 modul ua_c space S3d noward output 1 target55 modul va_c space S3d noward output 1 target53 modul sa_c space S3d noward output 1 |target 54 modul ua_c space S3d noward output 1 |target 55 modul va_c space S3d noward output 1 |target 56 56 57 57 #------------- … … 792 792 insert_fct arg xchangesavemode 793 793 794 insert_fct arg xwriteout 795 insert_fct arg xinitnc 794 796 #insert_fct arg load_shape_func 795 797 #insert_fct arg load_stdev_pca -
trunk/src/sinobad.h
r9 r14 856 856 } 857 857 858 //Gestion des fichiers netcdf 858 859 859 860 void xrst_save(int argc, char *argv[]) { 861 //Sauvegarde un restart 860 862 if (argc!=2) 861 863 { … … 876 878 } 877 879 } 880 881 void xwriteout (int argc, char *argv[]) { 882 //xwriteout t suff ncfile 883 //Ecrit dans le fichier ncfile les variables u,v,t,s,ssh avec le suffixe suff au pas de temps t 884 if (argc!=4) 885 { 886 printf("\n not enough arguments in writeout\n"); 887 exit(1); 888 } 889 890 int t; 891 char suff[200]; 892 char ncfile[200]; 893 int ncfile_id; 894 t=atoi(argv[1]); 895 strcpy(suff,argv[2]); 896 strcpy(ncfile,argv[3]); 897 ncfile_id=Ouvre_nc_add(ncfile); 898 write_out_var(t,ncfile_id,suff); 899 nc_close(ncfile_id); 900 901 } 902 903 void xinitnc(int argc,char *argv[]) { 904 //xinit ncfile 905 //init le fichier netcdf pour sauvegarde 906 if (argc!=2) 907 { 908 printf("\ncf file for saving output not specified in command xinitnc\n"); 909 exit(1); 910 } 911 else 912 { 913 char ncfile[200]; 914 int nc_file_id; 915 int dimid[4]; 916 strcpy(ncfile,argv[1]); 917 nc_file_id=Ouvre_nc_write(ncfile); 918 define_dim(nc_file_id,dimid); 919 write_out_var_init(nc_file_id,dimid); 920 nc_close(nc_file_id); 921 } 922 923 }
Note: See TracChangeset
for help on using the changeset viewer.