Changeset 58


Ignore:
Timestamp:
07/20/11 16:34:00 (13 years ago)
Author:
berrada
Message:

filtre forward

Location:
branches/branche-mb
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • branches/branche-mb/scripts/sinobad.i

    r49 r58  
    1212##INITIALISATION 
    1313xistate_init 1 ../data_in/file_rest/GYRE_00000424_restart.nc 
     14load_eb ta_c   // pour tenir en compte ta_c sinon sera 0 cause filtre 
    1415true_target_in_tab ta_c 
    1516xinitnc ../data_out/exp_T.nc 
     
    4647##INITIALISATION DE L'ASSIMILATION' 
    4748xistate_init 1 ../data_in/file_rest/GYRE_00000400_restart.nc 
     49load_eb ta_c  // charger l'ebauche ' 
    4850set_modeltime 0 
    4951print_time OFF 
  • branches/branche-mb/src/.TERM_xterm

    r52 r58  
    1111 lun. juin 27 15:44:44 CEST 2011 ... ariane.locean-ipsl.upmc.fr  
    1212 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 
    12//#define SOLSORYAO 
    23//#define OPTIMORDER 
     
    56//#Mohamed Berrada 26/02/2009 
    67//#modification (#define) Julien Brajard 06/2011 
     8//#modification (filtre) Mohamed Berrada 19/07/2011 
    79//#============================================================================== 
    810//#DEFVAL ---------------------------------------------DEFVAL 
     
    1517defval TA      50 |__DATE__ | number of time steps 
    1618defval TU       2 | start time step 
     19#ifdef FILTER 
     20defval OFT      20 
     21#endif 
     22#ifndef FILTER 
     23defval OFT      0 
     24#endif 
    1725//#exec disp_valdef 
     26#ifdef FILTER 
     27defval K_FILTER 
     28#endif 
    1829#ifdef SOLSORYAO 
    1930defval K_SOLSORYAO 
     
    3849 
    3950//#TRAJECTOIRES (DIM) -----------------------------------TRAJ 
    40 traj  Tcst       M   0   1 
    41 traj  Tsbd       M   TU  0   1  TA 
     51#ifdef FILTER 
     52traj  Tfilh      M   1  0   1  10 
     53traj  Tfilz      M   1  10   1  OFT 
     54#endif 
     55traj  Tcst       M   0   OFT  1 1 
     56traj  Tsbd       M   TU  OFT  1  TA 
    4257exec disp_traj 
    4358 
     
    6277modul    sshn_c                 space   S3d inter YA1 YA2       noward            output 1      |target 
    6378 
     79//#modul         ta_c                   space   S3d     input array NPCA                  output 1       
     80 
     81#ifndef FILTER 
    6482modul    ta_c                   space   S3d                     noward            output 1      target 
    65  
    66 //#modul         ta_c                   space   S3d     input array NPCA                  output 1       
     83#endif 
    6784 
    6885modul    sa_c                   space   S3d                     noward            output 1      |target 
    6986modul    ua_c                   space   S3d                     noward            output 1      |target 
    7087modul    va_c                   space   S3d                     noward            output 1      |target 
     88 
     89#ifdef FILTER 
     90modul    nu                     space   S3d                     noward            output 1      target 
     91modul    filtre                 space   S0d                     input 0           output 1 
     92modul    ta_c                   space   S3d                     input 0           output 1 
     93#endif 
    7194 
    7295//#------------- 
     
    811834#endif 
    812835 
     836#ifdef FILTER 
     837// calcul du filtre 
     838order modinspace S0d 
     839       order YA1 
     840            filtre 
     841      forder 
     842forder 
     843order modinspace S3d 
     844       order YA3 YA2 YA1 
     845            ta_c 
     846      forder 
     847forder 
     848#endif    
     849 
    813850#ifndef OPTIMORDER 
    814  
     851   
    815852order modinspace S3dt 
    816853//#---------->sbcgyre 
     
    10081045 
    10091046#ifndef SOLSORYAO 
     1047#ifdef FILTER 
     1048order spaceintraj Tcst 
     1049        S0d S3d 
     1050forder 
     1051#endif 
     1052 
    10101053order spaceintraj Tsbd 
    10111054        S3dt 
     
    10211064insert_fct  arg xchangesavemode 
    10221065 
     1066insert_fct  arg load_eb 
     1067 
    10231068insert_fct arg xwriteout 
    10241069insert_fct arg xwritegrad 
  • branches/branche-mb/src/sinobad.h

    r55 r58  
    1313#include"../include/meshmask.h" 
    1414 
     15#define ta_eb( i, j, k )  (ta_eb[(i)*(NY*NZ)+(j)*(NZ)+(k)]) // ebauche 
     16double ta_eb[NZ*NY*NX];   // ebauche 
     17void load_eb (int argc, char *argv[]);  // load "ebauche" from current variable ta_c   
    1518// For PPCA  
    1619/*double shfs_ta[NZ*NY*NX][NPCA]; 
     
    529532  } 
    530533} 
     534//______________________________________________________________________________ 
     535void 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 
    531557//_____________________________________________________________________________ 
    532558/*void load_shape_func (int argc, char *argv[])  // load PCA axes from file 
  • branches/branche-mb/src/ta_c.h

    r1 r58  
    77//                          methode forward 
    88forward () 
    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  //// 
    1418} 
    1519//=========================================================================== 
     
    1822backward () 
    1923{ 
    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  //// 
    2329} 
    2430 
Note: See TracChangeset for help on using the changeset viewer.