Changeset 128 for altifloat/src
- Timestamp:
- 08/01/14 16:13:55 (10 years ago)
- Location:
- altifloat/src
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
altifloat/src/floater.d
r123 r128 1 defval jtlag 6nombre de pas de temps Delta t/ delta t1 defval jtlag 19 nombre de pas de temps Delta t/ delta t 2 2 defval nlon 87 //nbre de points de grilles en longitude 3 3 defval nlat 58 //nbre de points de grilles en latitude 4 defval nfloat 1//nbre de flotteurs4 defval nfloat 2 //nbre de flotteurs 5 5 6 6 hat_name "floater.h" -
altifloat/src/floater.h
r126 r128 33 33 //YREAL c2,c3,c4,c5; 34 34 //YREAL dtfil=26042000; 35 YREAL dtfil=2 5000000;35 YREAL dtfil=2.604166666666667e+07; 36 36 37 37 #endif 38 38 39 39 //Options du run incr士ental 40 int nb_extiter= 30;40 int nb_extiter=4; 41 41 short inc_save=0; 42 42 char dirsave[50]="../obs_float/"; … … 83 83 read_obs(2,L); 84 84 //Test de isactiv 85 printf("isactiv(0,0):%d\n",is_activ(0,0));86 printf("isactiv(1,0):%d\n",is_activ(1,0));87 printf("isactiv(0,3):%d\n",is_activ(0,3));88 printf("isactiv(1,3):%d\n",is_activ(1,3));89 printf("isactiv(0,6):%d\n",is_activ(0,6));90 printf("isactiv(1,6):%d\n",is_activ(1,6));85 //printf("isactiv(0,0):%d\n",is_activ(0,0)); 86 //printf("isactiv(1,0):%d\n",is_activ(1,0)); 87 //printf("isactiv(0,3):%d\n",is_activ(0,3)); 88 //printf("isactiv(1,3):%d\n",is_activ(1,3)); 89 //printf("isactiv(0,6):%d\n",is_activ(0,6)); 90 //printf("isactiv(1,6):%d\n",is_activ(1,6)); 91 91 92 92 … … 314 314 short is_activ(int jpfl, int it) { 315 315 /* return 1 if float jpfl is active after it (stricly) */ 316 it++; 317 while(it<jptfl && pmask[it][jpfl]==0) 316 int jptend=it+jtlag+1; 317 it++; 318 319 while(it<jptend && pmask[it][jpfl]==0) 318 320 it++; 319 return(it<jpt fl&& pmask[it][jpfl]==1);321 return(it<jptend && pmask[it][jpfl]==1); 320 322 } 321 323 … … 328 330 YS1_u(j,k,it-iti)=ubck[j][k][it]; 329 331 YS1_v(j,k,it-iti)=vbck[j][k][it]; 332 YS1_uc_d(j,k)=0; 333 YS1_vc_d(j,k)=0; 334 // Yobs_insert_data (char *nmmod, int sortie, int iaxe, int jaxe, int kaxe,int pdt, YREAL val) 335 336 Yobs_insert_data("uc_d",0,j,k,0,-1,0); 337 Yobs_insert_data("vc_d",0,j,k,0,-1,0); 338 339 330 340 } 331 341 } … … 416 426 int jfl; 417 427 int Yifloat=0; 428 int nfobs=0; 429 int jptend=it+1+jtlag; 418 430 for (jfl=0;jfl<jpnfl;jfl++) { 431 nfobs=0; 419 432 if (pmask[it][jfl]==1 && is_activ(jfl,it)>0) { 420 433 //Chargemente de l'init 421 434 YS1_r_float(Yifloat,0)=pjobs[it][jfl]; 422 435 YS2_r_float(Yifloat,0)=piobs[it][jfl]; 423 424 436 //Chargement des obs 425 for (int itfl=it+1;itfl<jpt fl;itfl++) {437 for (int itfl=it+1;itfl<jptend;itfl++) { 426 438 if (pmask[itfl][jfl]==1) { 427 439 // Yobs_insert_data (char *nmmod, int sortie, int iaxe, int jaxe, int kaxe,int pdt, YREAL val) 428 440 Yobs_insert_data("r_cout_d",0,Yifloat,0,0,itfl-it,pjobs[itfl][jfl]); 429 441 Yobs_insert_data("r_cout_d",1,Yifloat,0,0,itfl-it,piobs[itfl][jfl]); 442 nfobs++; 430 443 } //if pmask==1 431 444 } //for itfl 432 445 433 Yifloat++; 446 Yifloat++; 447 printf("--Float nr %d : %d obs loaded\n",Yifloat,nfobs); 434 448 } //if pmask==1 449 435 450 } //for jfl 436 451 -
altifloat/src/floater_delta.d
r126 r128 1 1 #define FILTER 2 2 3 defval jtlag 19//nombre de pas de temps Delta t/ delta t3 defval jtlag 36//nombre de pas de temps Delta t/ delta t 4 4 //for the fake 5 5 //defval jtlag 720 6 6 7 defval jptfl 20//Nombre total de pas de temps8 defval jpnfl 1//nombre total de flotteurs7 defval jptfl 175 //Nombre total de pas de temps 8 defval jpnfl 5 //nombre total de flotteurs 9 9 10 10 11 11 defval nlon 87 //nbre de points de grilles en longitude 12 12 defval nlat 58 //nbre de points de grilles en latitude 13 defval nfloat 1//nbre de flotteurs max par assim13 defval nfloat 5 //nbre de flotteurs max par assim 14 14 15 15 #ifdef FILTER 16 16 defval K_FILTER //create a define K_FILTER in the source code 17 defval OFIL 4//order of the filter17 defval OFIL 6 //order of the filter 18 18 #else 19 19 defval OFIL 0 //Offtime of the main trajectory (0 since there is no filter) -
altifloat/src/lapfilu.h
r117 r128 27 27 */ 28 28 29 30 29 31 if (Yt==1) { //first step time 30 32 // if (Yt<1000000) { //first step time -
altifloat/src/locate.h
r109 r128 1 1 forward(YREAL x, YREAL y) 2 2 { 3 4 //printf("x=%f ; y=%f\n",x,y); 3 5 //Yj = longitude 4 6 //Yk = latitude … … 8 10 { 9 11 //printf("j_ll=%d ; k_ll=%d\n",j_ll,k_ll); 10 YS1_uinter(Yi,YTemps)=YS1_u(Yj,Yk,YTemps) ;//la 1ere sortie du module uinter pour le floater i est la valeur du module u en Yj Yk11 YS2_uinter(Yi,YTemps)=YS1_u(Yj+1,Yk,YTemps) ;12 YS3_uinter(Yi,YTemps)=YS1_u(Yj,Yk+1,YTemps) ;13 YS4_uinter(Yi,YTemps)=YS1_u(Yj+1,Yk+1,YTemps) ;14 YS5_uinter(Yi,YTemps)=YS1_v(Yj,Yk,YTemps) ;15 YS6_uinter(Yi,YTemps)=YS1_v(Yj+1,Yk,YTemps) ;16 YS7_uinter(Yi,YTemps)=YS1_v(Yj,Yk+1,YTemps) ;17 YS8_uinter(Yi,YTemps)=YS1_v(Yj+1,Yk+1,YTemps) ;12 YS1_uinter(Yi,YTemps)=YS1_u(Yj,Yk,YTemps)*mask[Yj][Yk];//la 1ere sortie du module uinter pour le floater i est la valeur du module u en Yj Yk 13 YS2_uinter(Yi,YTemps)=YS1_u(Yj+1,Yk,YTemps)*mask[Yj+1][Yk]; 14 YS3_uinter(Yi,YTemps)=YS1_u(Yj,Yk+1,YTemps)*mask[Yj][Yk+1]; 15 YS4_uinter(Yi,YTemps)=YS1_u(Yj+1,Yk+1,YTemps)*mask[Yj+1][Yk+1]; 16 YS5_uinter(Yi,YTemps)=YS1_v(Yj,Yk,YTemps)*mask[Yj][Yk]; 17 YS6_uinter(Yi,YTemps)=YS1_v(Yj+1,Yk,YTemps)*mask[Yj+1][Yk]; 18 YS7_uinter(Yi,YTemps)=YS1_v(Yj,Yk+1,YTemps)*mask[Yj][Yk+1]; 19 YS8_uinter(Yi,YTemps)=YS1_v(Yj+1,Yk+1,YTemps)*mask[Yj+1][Yk+1]; 18 20 YS1_xinter(Yi,YTemps)=(YREAL)Yj; 19 21 YS2_xinter(Yi,YTemps)=(YREAL)Yj+1; … … 34 36 if (j_ll==Yj && k_ll==Yk) 35 37 { 36 YG1_u(Yj,Yk,YTemps)+=YG1_uinter(Yi,YTemps) ;37 YG1_u(Yj+1,Yk,YTemps)+=YG2_uinter(Yi,YTemps) ;38 YG1_u(Yj,Yk+1,YTemps)+=YG3_uinter(Yi,YTemps) ;39 YG1_u(Yj+1,Yk+1,YTemps)+=YG4_uinter(Yi,YTemps) ;40 YG1_v(Yj,Yk,YTemps)+=YG5_uinter(Yi,YTemps) ;41 YG1_v(Yj+1,Yk,YTemps)+=YG6_uinter(Yi,YTemps) ;42 YG1_v(Yj,Yk+1,YTemps)+=YG7_uinter(Yi,YTemps) ;43 YG1_v(Yj+1,Yk+1,YTemps)+=YG8_uinter(Yi,YTemps) ;38 YG1_u(Yj,Yk,YTemps)+=YG1_uinter(Yi,YTemps)*mask[Yj][Yk]; 39 YG1_u(Yj+1,Yk,YTemps)+=YG2_uinter(Yi,YTemps)*mask[Yj+1][Yk]; 40 YG1_u(Yj,Yk+1,YTemps)+=YG3_uinter(Yi,YTemps)*mask[Yj][Yk+1]; 41 YG1_u(Yj+1,Yk+1,YTemps)+=YG4_uinter(Yi,YTemps)*mask[Yj+1][Yk+1]; 42 YG1_v(Yj,Yk,YTemps)+=YG5_uinter(Yi,YTemps)*mask[Yj][Yk]; 43 YG1_v(Yj+1,Yk,YTemps)+=YG6_uinter(Yi,YTemps)*mask[Yj+1][Yk]; 44 YG1_v(Yj,Yk+1,YTemps)+=YG7_uinter(Yi,YTemps)*mask[Yj][Yk+1]; 45 YG1_v(Yj+1,Yk+1,YTemps)+=YG8_uinter(Yi,YTemps)*mask[Yj+1][Yk+1]; 44 46 45 47 } -
altifloat/src/locate_d.h
r108 r128 8 8 { 9 9 //printf("j_ll=%d ; k_ll=%d\n",j_ll,k_ll); 10 YS1_uinter_d(Yi,YTemps)=YS1_u_d(Yj,Yk) ;//la 1ere sortie du module uinter pour le floater i est la valeur du module u en Yj Yk11 YS2_uinter_d(Yi,YTemps)=YS1_u_d(Yj+1,Yk) ;12 YS3_uinter_d(Yi,YTemps)=YS1_u_d(Yj,Yk+1) ;13 YS4_uinter_d(Yi,YTemps)=YS1_u_d(Yj+1,Yk+1) ;14 YS5_uinter_d(Yi,YTemps)=YS1_v_d(Yj,Yk) ;15 YS6_uinter_d(Yi,YTemps)=YS1_v_d(Yj+1,Yk) ;16 YS7_uinter_d(Yi,YTemps)=YS1_v_d(Yj,Yk+1) ;17 YS8_uinter_d(Yi,YTemps)=YS1_v_d(Yj+1,Yk+1) ;10 YS1_uinter_d(Yi,YTemps)=YS1_u_d(Yj,Yk)*mask[Yj][Yk];//la 1ere sortie du module uinter pour le floater i est la valeur du module u en Yj Yk 11 YS2_uinter_d(Yi,YTemps)=YS1_u_d(Yj+1,Yk)*mask[Yj+1][Yk]; 12 YS3_uinter_d(Yi,YTemps)=YS1_u_d(Yj,Yk+1)*mask[Yj][Yk+1]; 13 YS4_uinter_d(Yi,YTemps)=YS1_u_d(Yj+1,Yk+1)*mask[Yj+1][Yk+1]; 14 YS5_uinter_d(Yi,YTemps)=YS1_v_d(Yj,Yk)*mask[Yj][Yk]; 15 YS6_uinter_d(Yi,YTemps)=YS1_v_d(Yj+1,Yk)*mask[Yj+1][Yk]; 16 YS7_uinter_d(Yi,YTemps)=YS1_v_d(Yj,Yk+1)*mask[Yj][Yk+1]; 17 YS8_uinter_d(Yi,YTemps)=YS1_v_d(Yj+1,Yk+1)*mask[Yj+1][Yk+1]; 18 18 19 19 //printf("u_d=%f\n",YS1_u_d(Yj,Yk)); … … 30 30 if (j_ll==Yj && k_ll==Yk) 31 31 { 32 YG1_u_d(Yj,Yk)+=YG1_uinter_d(Yi,YTemps) ;33 YG1_u_d(Yj+1,Yk)+=YG2_uinter_d(Yi,YTemps) ;34 YG1_u_d(Yj,Yk+1)+=YG3_uinter_d(Yi,YTemps) ;35 YG1_u_d(Yj+1,Yk+1)+=YG4_uinter_d(Yi,YTemps) ;36 YG1_v_d(Yj,Yk)+=YG5_uinter_d(Yi,YTemps) ;37 YG1_v_d(Yj+1,Yk)+=YG6_uinter_d(Yi,YTemps) ;38 YG1_v_d(Yj,Yk+1)+=YG7_uinter_d(Yi,YTemps) ;39 YG1_v_d(Yj+1,Yk+1)+=YG8_uinter_d(Yi,YTemps) ;32 YG1_u_d(Yj,Yk)+=YG1_uinter_d(Yi,YTemps)*mask[Yj][Yk]; 33 YG1_u_d(Yj+1,Yk)+=YG2_uinter_d(Yi,YTemps)*mask[Yj+1][Yk]; 34 YG1_u_d(Yj,Yk+1)+=YG3_uinter_d(Yi,YTemps)*mask[Yj][Yk+1]; 35 YG1_u_d(Yj+1,Yk+1)+=YG4_uinter_d(Yi,YTemps)*mask[Yj+1][Yk+1]; 36 YG1_v_d(Yj,Yk)+=YG5_uinter_d(Yi,YTemps)*mask[Yj][Yk]; 37 YG1_v_d(Yj+1,Yk)+=YG6_uinter_d(Yi,YTemps)*mask[Yj+1][Yk]; 38 YG1_v_d(Yj,Yk+1)+=YG7_uinter_d(Yi,YTemps)*mask[Yj][Yk+1]; 39 YG1_v_d(Yj+1,Yk+1)+=YG8_uinter_d(Yi,YTemps)*mask[Yj+1][Yk+1]; 40 40 41 41 } -
altifloat/src/u_d.h
r108 r128 2 2 { 3 3 //YS1=ud; 4 YS1=ud*u_norm ;4 YS1=ud*u_norm*mask[Yi][Yj]; 5 5 } 6 6 … … 13 13 //YJ1I1=1; 14 14 //YJ1I2=0; 15 YJ1I1=u_norm ;16 YJ1I2=ud ;15 YJ1I1=u_norm*mask[Yi][Yj]; 16 YJ1I2=ud*mask[Yi][Yj]; 17 17 } 18 18 -
altifloat/src/ur.h
r98 r128 7 7 vr_dx=(v2-v1)+(v1-v2-v3+v4)*(y-y1); 8 8 vr_dy=(v3-v1)+(v1-v2-v3+v4)*(x-x1); 9 //printf(" u1=%f ; u2=%f\n",u1,u2);9 //printf("YS1=%f ; YS2=%f\n",YS1,YS2); 10 10 } 11 11 -
altifloat/src/ur_d.h
r108 r128 3 3 YS1=u1 + (u2-u1)*(x-x1)+(u3-u1)*(y-y1)+(u1-u2-u3+u4)*(x-x1)*(y-y1); 4 4 YS2=v1 + (v2-v1)*(x-x1)+(v3-v1)*(y-y1)+(v1-v2-v3+v4)*(x-x1)*(y-y1); 5 5 //printf("x1=%f ; y1=%f ; x=%f ; y=%f ; u1=%f ; v1=%f ; u2=%f ; v2=%f ; u3=%f ; v3=%f ; u4=%f ; v4=%f\n",x1,y1,x,y,u1,v1,u2,v2,u3,v3,u4,v4); 6 6 //printf("u1=%f ; u2=%f\n",u1,u2); 7 7 //printf("urd1=%f\n",YS1);
Note: See TracChangeset
for help on using the changeset viewer.