Changeset 58
- Timestamp:
- 07/20/11 16:34:00 (13 years ago)
- Location:
- branches/branche-mb
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/branche-mb/scripts/sinobad.i
r49 r58 12 12 ##INITIALISATION 13 13 xistate_init 1 ../data_in/file_rest/GYRE_00000424_restart.nc 14 load_eb ta_c // pour tenir en compte ta_c sinon sera 0 cause filtre 14 15 true_target_in_tab ta_c 15 16 xinitnc ../data_out/exp_T.nc … … 46 47 ##INITIALISATION DE L'ASSIMILATION' 47 48 xistate_init 1 ../data_in/file_rest/GYRE_00000400_restart.nc 49 load_eb ta_c // charger l'ebauche ' 48 50 set_modeltime 0 49 51 print_time OFF -
branches/branche-mb/src/.TERM_xterm
r52 r58 11 11 lun. juin 27 15:44:44 CEST 2011 ... ariane.locean-ipsl.upmc.fr 12 12 mer. juin 29 16:45:11 CEST 2011 ... ariane.locean-ipsl.upmc.fr 13 mar. juil. 12 12:15:52 CEST 2011 ... antea -
branches/branche-mb/src/sinobad.d
r54 r58 1 #define FILTER 1 2 //#define SOLSORYAO 2 3 //#define OPTIMORDER … … 5 6 //#Mohamed Berrada 26/02/2009 6 7 //#modification (#define) Julien Brajard 06/2011 8 //#modification (filtre) Mohamed Berrada 19/07/2011 7 9 //#============================================================================== 8 10 //#DEFVAL ---------------------------------------------DEFVAL … … 15 17 defval TA 50 |__DATE__ | number of time steps 16 18 defval TU 2 | start time step 19 #ifdef FILTER 20 defval OFT 20 21 #endif 22 #ifndef FILTER 23 defval OFT 0 24 #endif 17 25 //#exec disp_valdef 26 #ifdef FILTER 27 defval K_FILTER 28 #endif 18 29 #ifdef SOLSORYAO 19 30 defval K_SOLSORYAO … … 38 49 39 50 //#TRAJECTOIRES (DIM) -----------------------------------TRAJ 40 traj Tcst M 0 1 41 traj Tsbd M TU 0 1 TA 51 #ifdef FILTER 52 traj Tfilh M 1 0 1 10 53 traj Tfilz M 1 10 1 OFT 54 #endif 55 traj Tcst M 0 OFT 1 1 56 traj Tsbd M TU OFT 1 TA 42 57 exec disp_traj 43 58 … … 62 77 modul sshn_c space S3d inter YA1 YA2 noward output 1 |target 63 78 79 //#modul ta_c space S3d input array NPCA output 1 80 81 #ifndef FILTER 64 82 modul ta_c space S3d noward output 1 target 65 66 //#modul ta_c space S3d input array NPCA output 1 83 #endif 67 84 68 85 modul sa_c space S3d noward output 1 |target 69 86 modul ua_c space S3d noward output 1 |target 70 87 modul va_c space S3d noward output 1 |target 88 89 #ifdef FILTER 90 modul nu space S3d noward output 1 target 91 modul filtre space S0d input 0 output 1 92 modul ta_c space S3d input 0 output 1 93 #endif 71 94 72 95 //#------------- … … 811 834 #endif 812 835 836 #ifdef FILTER 837 // calcul du filtre 838 order modinspace S0d 839 order YA1 840 filtre 841 forder 842 forder 843 order modinspace S3d 844 order YA3 YA2 YA1 845 ta_c 846 forder 847 forder 848 #endif 849 813 850 #ifndef OPTIMORDER 814 851 815 852 order modinspace S3dt 816 853 //#---------->sbcgyre … … 1008 1045 1009 1046 #ifndef SOLSORYAO 1047 #ifdef FILTER 1048 order spaceintraj Tcst 1049 S0d S3d 1050 forder 1051 #endif 1052 1010 1053 order spaceintraj Tsbd 1011 1054 S3dt … … 1021 1064 insert_fct arg xchangesavemode 1022 1065 1066 insert_fct arg load_eb 1067 1023 1068 insert_fct arg xwriteout 1024 1069 insert_fct arg xwritegrad -
branches/branche-mb/src/sinobad.h
r55 r58 13 13 #include"../include/meshmask.h" 14 14 15 #define ta_eb( i, j, k ) (ta_eb[(i)*(NY*NZ)+(j)*(NZ)+(k)]) // ebauche 16 double ta_eb[NZ*NY*NX]; // ebauche 17 void load_eb (int argc, char *argv[]); // load "ebauche" from current variable ta_c 15 18 // For PPCA 16 19 /*double shfs_ta[NZ*NY*NX][NPCA]; … … 529 532 } 530 533 } 534 //______________________________________________________________________________ 535 void load_eb (int argc, char *argv[]){ // load "ebauche" 536 // on doit presiser la variable exple : load_eb ta_c 537 if (!strcmp(argv[1],"ta_c")){ 538 for(int i=0;i<NX;i++) 539 for(int j=0;j<NY;j++) 540 for(int k=0;k<NZ;k++){ 541 ta_eb( i, j, k )=0.0; 542 } 543 for(int i=0;i<NX;i++) 544 for(int j=0;j<NY;j++) 545 for(int k=0;k<NZ;k++){ 546 ta_eb( i, j, k )=YS_ta_c(0,i,j,k); 547 } 548 549 } 550 else{ 551 printf( "function load_eb:: argument incorrect\n"); 552 exit(99);// abort program 553 } 554 } 555 556 531 557 //_____________________________________________________________________________ 532 558 /*void load_shape_func (int argc, char *argv[]) // load PCA axes from file -
branches/branche-mb/src/ta_c.h
r1 r58 7 7 // methode forward 8 8 forward () 9 { /* 1..NPCA from pca_ta 1..NPCA 1*/ 10 double sum=moy_ta(Yi,Yj,Yk); 11 for(int n=0;n<NPCA;n++) sum+=Yting[n]*stdev_ta[n]*shfs_ta(Yi,Yj,Yk,n); 12 YS1=sum; 13 // 9 { 10 YS1 = ta_eb(Yi,Yj,Yk) +dta_c(Yi,Yj,Yk); 11 12 13 ///* 1..NPCA from pca_ta 1..NPCA 1*/ 14 //double sum=moy_ta(Yi,Yj,Yk); 15 //for(int n=0;n<NPCA;n++) sum+=Yting[n]*stdev_ta[n]*shfs_ta(Yi,Yj,Yk,n); 16 //YS1=sum; 17 //// 14 18 } 15 19 //=========================================================================== … … 18 22 backward () 19 23 { 20 for(int n=0;n<NPCA;n++) 21 Yjac[0][n] = stdev_ta[n]*shfs_ta(Yi,Yj,Yk,n); 22 // 24 //gradient se calcule dans le module filtre 25 26 //for(int n=0;n<NPCA;n++) 27 // Yjac[0][n] = stdev_ta[n]*shfs_ta(Yi,Yj,Yk,n); 28 //// 23 29 } 24 30
Note: See TracChangeset
for help on using the changeset viewer.