Changeset 90


Ignore:
Timestamp:
05/15/13 12:28:18 (11 years ago)
Author:
berrada
Message:

first commit for the branche mb2

Location:
branches/branche-mb2
Files:
1 added
17 edited
5 copied

Legend:

Unmodified
Added
Removed
  • branches/branche-mb2/include/Makefile

    r1 r90  
    1 LIBNC=/usr/lib/libnetcdf_c++.so 
    2 INCNC=/usr/include/netcdf-3 
     1#LIBNC=/usr/lib/libnetcdf_c++.so 
     2#INCNC=/usr/include/netcdf-3 
     3INCNC = /usr/include/ 
     4LIBNC = -L/usr/lib64 -lnetcdff -lnetcdf 
     5 
     6 
    37FLAGS=-Wno-deprecated -Wno-write-strings 
    48GXX=g++ -c 
  • branches/branche-mb2/include/meshmask.h

    r71 r90  
     1/* 
     2 * read mesh_mask.nc 
     3 * read and write restart file  
     4 */ 
     5 
    16#define nav_lon( i, j ) (nav_lon[(j)*(NX)+(i)]) 
    27#define nav_lat( i, j ) (nav_lat[(j)*(NX)+(i)]) 
     
    8590typedef float netcdf_type; 
    8691 
    87 char const    *mesh_mask_file    = PATH_NCFILES"/mesh_mask.nc"; 
     92//char const    *mesh_mask_file    = PATH_NCFILES"/mesh_mask.nc"; basculer dans .i (M. Berrada) 04/09/12 
     93char   mesh_mask_file[200];//    = PATH_NCFILES"/mesh_mask.nc"; 
    8894int mesh_mask_file_id; 
    8995int nav_lon_id, nav_lat_id, nav_lev_id; //Utiliser juste pour info 
     
    337343      for(int i=0;i<NX;i++){ 
    338344        YS_hdivn(0,i,j,k,TU)=temp[(k)*(NY*NX)+(j)*(NX)+(i)]; 
    339       } 
     345#ifdef K_JPERIO1 
     346        YS_hdivnjperio1(0,i,j,k,TU)=temp[(k)*(NY*NX)+(j)*(NX)+(i)]; 
     347#endif 
     348     } 
    340349 
    341350  //----------- 
     
    346355      for(int i=0;i<NX;i++){ 
    347356        YS_hdivn(0,i,j,k,TU-1)=temp[(k)*(NY*NX)+(j)*(NX)+(i)]; 
    348       } 
     357#ifdef K_JPERIO1 
     358        YS_hdivnjperio1(0,i,j,k,TU-1)=temp[(k)*(NY*NX)+(j)*(NX)+(i)]; 
     359#endif 
     360     } 
    349361 
    350362  //----------- 
     
    355367      for(int i=0;i<NX;i++){ 
    356368        YS_rotn(0,i,j,k,TU)=temp[(k)*(NY*NX)+(j)*(NX)+(i)]; 
     369#ifdef K_JPERIO1 
     370        YS_rotnjperio1(0,i,j,k,TU)=temp[(k)*(NY*NX)+(j)*(NX)+(i)]; 
     371#endif 
    357372      } 
    358373 
     
    364379      for(int i=0;i<NX;i++){ 
    365380        YS_rotn(0,i,j,k,TU-1)=temp[(k)*(NY*NX)+(j)*(NX)+(i)]; 
     381#ifdef K_JPERIO1 
     382        YS_rotnjperio1(0,i,j,k,TU-1)=temp[(k)*(NY*NX)+(j)*(NX)+(i)]; 
     383#endif 
    366384      } 
    367385 
     
    392410temp_id=Var_id(rest_file_id,"kt"); 
    393411  scalarlire(rest_file_id,temp_id,&nit000); 
    394  
     412   
    395413} 
    396414 
  • branches/branche-mb2/include/namelist.h

    r71 r90  
    4545//                           !  =0, no acceleration, rdt = rdttra 
    4646double   atfp        =    0.1;//    !  asselin time filter parameter 
    47 double   rdt         = 7200.; //    !  time step for the dynamics (and tracer if nacc=0) 
     47double   rdt         = 3600.; //    !  time step for the dynamics (and tracer if nacc=0) 
    4848double   rdtmin      = 7200.; //    !  minimum time step on tracers (used if nacc=1) 
    4949double   rdtmax      = 7200.; //    !  maximum time step on tracers (used if nacc=1) 
     
    8181//&nam_traldf    !   lateral diffusion scheme for tracer  
    8282//!----------------------------------------------------------------------- 
    83 double   aht0        =  1000.;//         !     horizontal eddy diffusivity for tracers [m2/s] 
     83double   aht0        =  500.;//         !     horizontal eddy diffusivity for tracers [m2/s] 
    8484double   ahtb0       =     0.;//         !     background eddy diffusivity for ldf_iso [m2/s] 
    8585double   aeiv0       =  1000.;//         !     eddy induced velocity coefficient [m2/s]    (require "key_traldf_eiv") 
     
    9393//&nam_dynldf    !   lateral diffusion on momentum 
    9494//!----------------------------------------------------------------------- 
    95 double   ahm0    = 100000.;//            !     horizontal eddy viscosity   [m2/s] 
     95double   ahm0    = 30000.;//            !     horizontal eddy viscosity   [m2/s] 
    9696double   ahmb0   =     0.;//             !     background eddy viscosity for ldf_iso [m2/s] 
    9797 
  • branches/branche-mb2/scripts/sinobad_2D_filtre.i

    r80 r90  
    1212 
    1313##INITIALISATION 
     14xinit_mesh_mask ../data_in/meshmask/mesh_mask_gyre1deg.nc 
    1415xistate_init 1 ../data_in/file_rest/GYRE_00000424_restart.nc 
     16#xistate_init 1 ../data_in/file_rest/GYRE1s3d_00004320_restart.nc 
    1517load_eb ta_c   ||// pour tenir en compte ta_c sinon sera 0 cause filtre 
    1618true_target_in_tab ta_c 
     
    3133 
    3234##OBSERVATION 
    33 xwriteout 50 obs_48 ../data_out/exp_T_2D.nc 
     35xwriteout 12 obs_10 ../data_out/exp_T_2D.nc 
    3436 
    3537#Pour ne sauvegarder que la surface 
    3638xchangesavemode 1 
    3739 
    38 savestate tb  1   ijk   50    A       1       ../data_out/tb_obs_48_2D.dat    
     40#savestate tb  1   ijk   50    A       1       ../data_out/tb_obs_48_2D.dat    
    3941 
    40 loadobs tb  1   ijk   50    A       1       ../data_out/tb_obs_48_2D.dat D    
     42#loadobs tb  1   ijk   50    A       1       ../data_out/tb_obs_48_2D.dat D    
     43savestate tb  1   ijk   12    A       1       ../data_out/tb_obs_10_2D.dat    
     44 
     45loadobs tb  1   ijk   12    A       1       ../data_out/tb_obs_10_2D.dat D    
    4146 
    4247#goto FINRUN 
    4348 
    4449##INITIALISATION DE L'ASSIMILATION' 
    45 xistate_init 1 ../data_in/file_rest/GYRE_00000400_restart.nc 
     50#xistate_init 1 ../data_in/file_rest/GYRE_00000400_restart.nc 
     51xistate_init 1 ../data_in/file_rest/GYRE1s3d_00000200_restart.nc 
    4652load_eb ta_c  // charger l'ebauche ' 
    4753setstate nu 0 
  • branches/branche-mb2/src/Makefile

    r78 r90  
    22#GENOPT= -E 
    33GENOPT=-DOPTIMORDER -E 
    4 YAOPT= -p -n +g -x sinobad 
     4YAOPT= -p -n +g +w -x sinobad 
    55 
    66essai: essai.d ../object/ncutil.o 
    7         ${YAODIR}/etc/yao92  $(YAOPT) essai.d 
     7        ${YAODIR}/etc/YaoI  $(YAOPT) essai.d 
     8##      ${YAODIR}/etc/yao92  $(YAOPT) essai.d 
    89 
    910essai.d: essai.c          
  • branches/branche-mb2/src/gcx_dynspg_flt.h

    r1 r90  
    2828  } 
    2929  //if(Yi==28 && Yj==3)  xtest("gcx_dynspg_flt",YS1,Yi,Yj,Yk,Yt); 
    30  
    3130  // 
    3231} 
  • branches/branche-mb2/src/hmf_TF_dynadv_cen2.h

    r1 r90  
    3131    } 
    3232    else{ 
    33       zfu=0.25*(double)e2u(Yi,Yj)*(double)fse3v(Yi,Yj,Yk)*x1; 
    34       zfuip1=0.25*(double)e2u(Yi+1,Yj)*(double)fse3v(Yi+1,Yj,Yk)*x2; 
    35       zfujp1=0.25*e2u(Yi,Yj+1)*fse3v(Yi,Yj+1,Yk)*x3; 
     33      zfu=0.25*(double)e2u(Yi,Yj)*(double)fse3u(Yi,Yj,Yk)*x1; 
     34      zfuip1=0.25*(double)e2u(Yi+1,Yj)*(double)fse3u(Yi+1,Yj,Yk)*x2; 
     35      zfujp1=0.25*e2u(Yi,Yj+1)*fse3u(Yi,Yj+1,Yk)*x3; 
    3636       
    3737      zfv=0.25*e1v(Yi,Yj)*fse3v(Yi,Yj,Yk)*x4; 
  • branches/branche-mb2/src/sbcgyre_qsr_qns.h

    r64 r90  
    1010//                          methode forward 
    1111forward (YREAL x1) 
    12 {/*     1       from    ta                      1  i    j    1    t-2*/ 
     12{/*     1       from    tb                      1  i    j    1    t-1*/ 
    1313 
    1414  /* verification code au 1er pas de temps, Mohamed, April 3, 2009 
     
    2727          - (nyear  - 1) * rjjhh * raajj;  //           !  minus years since beginning of experiment (in hours) 
    2828    */ 
     29     
    2930    double  ztime = kt * rdt / (rmmss * rhhmm)  //       !  total incrementation (in hours) 
    3031      - (nyear  - 1) * rjjhh * raajj;  //           !  minus years since beginning of experiment (in hours) 
     
    4445    double  ztrp= - 40.e0;       // ! retroaction term on heat fluxes (W/m2/K) 
    4546    //  double  zconv = 3.16e-5;      //! convertion factor: 1 m/yr => 3.16e-5 mm/s 
    46     double  t_star = zTstar*(1+1./50.*zcos_sais2)*cos(rpi*(gphit(Yi,Yj)-5.)/(53.5*(1.+11./53.5*zcos_sais2)*2.)); 
     47    double  t_star = zTstar*(1.+1./50.*zcos_sais2)*cos(rpi*(gphit(Yi,Yj)-5.)/(53.5*(1.+11./53.5*zcos_sais2)*2.)); 
    4748    //   ! 23.5 deg : tropics 
    4849    YS1 = 230*cos(3.1415*(gphit(Yi,Yj)-23.5*zcos_sais1)/(0.9*180.)); 
    4950    YS2 = ztrp*(x1-t_star)-YS1; // on s'est permi ceci (YS1) car YS1 ne retropropage pas de gradient 
    50     if(Yi==9 && Yj==1 && Yt==3){ 
    51       /*     printf("gphit(Yi,Yj)=%25.16e\n",gphit(Yi,Yj)); 
    52       printf("zcos_sais1=%25.16e\n",zcos_sais1); 
    53       printf("YS1=%25.16e\n",YS1);*/ 
    54     } 
     51  if(Yt==TU+1 && Yi==10 && Yj==10) 
     52    printf("ztime = %24.16e\n", ztime); 
    5553  } 
    5654  // 
  • branches/branche-mb2/src/sinobad.d

    r78 r90  
    77//#define OPTIMORDER 
    88 
     9//#define JPERIO1 
     10 
    911//#============================================================================== 
    1012//#             fichier de DESCRIPTION sinobad.d 
     
    1214//#modification (#define) Julien Brajard 06/2011 
    1315//#modification (filtre) Mohamed Berrada 19/07/2011 
     16//#modification (jperio1 BC cyclic E-W) Mohamed Berrada 03/09/2012 
    1417//#============================================================================== 
    1518//#DEFVAL ---------------------------------------------DEFVAL 
    1619//#definition de valeur 
    1720defval NPCA    15   
    18 defval NX      32    
    19 defval NY      22   
     21//defval NX      32    
     22//defval NXm1    31    
     23//defval NY      22   
     24defval NX      62    
     25defval NXm1    61    
     26defval NY      42   
     27//defval NX      92    
     28//defval NXm1    91    
     29//defval NY      62   
    2030defval NZ      31  
    2131defval NMAX    800 //    !  maximum of iterations for the SOR solver 
    22 defval TA      10 |__DATE__ | number of time steps 
     32defval TA      22 |__DATE__ | number of time steps 
    2333defval TU       2 | start time step 
    2434#ifdef FILTER 
     
    4959defval K_OPTIMORDER 
    5060#endif 
     61#ifdef JPERIO1 
     62defval K_JPERIO1 
     63#endif 
     64 
    5165//#defval EDDY 
    5266 
     
    5973option O_M1QN3 
    6074//#option O_VARINCR 
    61 //#option    O_GRADTEST 
     75option    O_GRADTEST 
    6276//#option   O_DBG_NANF 
    6377//#option   O_DBG_TING 
     
    151165modul    sbcgyre_utau_vtau      space   S3dt inter YA1 YA2      input 0           output 2      tempo    
    152166modul    sbcgyre_wndm           space   S3dt inter YA1 YA2      input 4           output 1      tempo    
     167#ifdef JPERIO1 
     168modul    sbcgyre_wndmjperio1    space   S3dt inter YA1 YA2      input 3           output 1      tempo    
     169#endif 
    153170//##END_sbc (fin routine sbc) 
    154171 
     
    159176//##START_zdf     (n_evdm=1,nbotfr=2) 
    160177//#mélange vertical 
    161 modul    zdf_avt_avmu_avmv      space   S3dt                    input 19          output 3      tempo    
     178modul    zdf_avt_avmu_avmv      space   S3dt                    input 1           output 3      tempo    
     179modul    zdfbfr_avmu_avmv      space    S3dt                    input 18          output 2      tempo    
    162180modul    zdfmxl_hmld            space   S3dt inter YA1 YA2      input array NZ    output 1      tempo 
    163181modul    zdfmxl_nmln_hmlp_hmlpt space   S3dt inter YA1 YA2      input array NZ    output 3      tempo    
     182 
     183#ifdef JPERIO1 
     184modul    zdf_avtjperio1       space     S3dt                    input 3           output 1      tempo    
     185modul    zdf_avmujperio1      space     S3dt                    input 3           output 1      tempo    
     186modul    zdf_avmvjperio1      space     S3dt                    input 3           output 1      tempo    
     187#endif 
     188 
    164189//##END_zdf 
    165190 
     
    205230modul   sa                      space   S3dt                    input 5           output 1      tempo 
    206231//##END_trazdf_imp 
     232 
     233#ifdef JPERIO1 
     234modul   tajperio1               space   S3dt                    input 3           output 1      tempo 
     235modul   sajperio1               space   S3dt                    input 3           output 1      tempo 
     236#endif 
    207237 
    208238//##START_tra_nxt 
     
    271301modul   sum_spgu_dynspg_flt     space   S3dt inter YA1 YA2      input array NZ    output 1      tempo 
    272302modul   sum_spgv_dynspg_flt     space   S3dt inter YA1 YA2      input array NZ    output 1      tempo 
     303 
     304#ifdef JPERIO1 
     305modul   spgu_dynspg_fltjperio1  space   S3dt inter YA1 YA2      input 3           output 1      tempo 
     306modul   spgv_dynspg_fltjperio1  space   S3dt inter YA1 YA2      input 3           output 1      tempo 
     307#endif 
     308 
    273309modul   gcb_dynspg_flt          space   S3dt inter YA1 YA2      input 4           output 1      tempo    
    274310modul   gcx_dynspg_flt          space   S3dt inter YA1 YA2      input 2           output 1      tempo    
    275311#ifndef SOLSORYAO 
     312#ifndef JPERIO1 
    276313modul   solsor_dynspg_flt       space   S3dt inter YA1 YA2      input array 19    output 1      tempo hidjac 
     314#endif 
     315#ifdef JPERIO1 
     316modul   solsor_dynspgfltjperio1 space   S3dt inter YA1 YA2      input array 19    output 1      tempo hidjac 
     317#endif 
    277318modul   gcx2                    space   S3dt inter YA1 YA2      input 1           output 1      tempo hidjac 
    278319#endif 
     
    286327#endif 
    287328 
    288  
    289  
    290329modul   spguv_dynspg_flt        space   S3dt inter YA1 YA2      input 3           output 2      tempo    
    291330modul   ua                      space   S3dt                    input 3           output 1      tempo 
     
    296335 
    297336//##START_dyn_nxt 
     337#ifdef JPERIO1 
     338modul   uajperio1               space   S3dt                    input 3           output 1      tempo 
     339modul   vajperio1               space   S3dt                    input 3           output 1      tempo 
     340#endif 
    298341//#nxt : filtre d'asselin 
    299342modul    ub                     space   S3dt                    input 4           output 1      tempo cout 
     
    305348modul    hdivn                  space   S3dt                    input 4           output 1      tempo    
    306349modul    rotn                   space   S3dt                    input 4           output 1      tempo    
     350#ifdef JPERIO1 
     351modul    hdivnjperio1           space   S3dt                    input 3           output 1      tempo    
     352modul    rotnjperio1            space   S3dt                    input 3           output 1      tempo    
     353#endif 
    307354//##END_divcur 
    308355 
     
    408455ctin     sbcgyre_wndm           4       from    sbcgyre_utau_vtau       2  i    j         t 
    409456 
     457#ifdef JPERIO1 
     458ctin     sbcgyre_wndmjperio1    1       from    sbcgyre_wndm            1  i    j         t 
     459ctin     sbcgyre_wndmjperio1    2       from    sbcgyre_wndm            1  NXm1 j         t 
     460ctin     sbcgyre_wndmjperio1    3       from    sbcgyre_wndm            1  2    j         t 
     461#endif 
     462 
    410463//#---------->bn2 
    411464ctin     bn2_rn2                1       from    tb                      1  i    j    k    t-1 
     
    416469//#---------->zdf 
    417470ctin     zdf_avt_avmu_avmv      1       from    bn2_rn2                 1  i    j    k    t 
    418 ctin     zdf_avt_avmu_avmv      2       from    bn2_rn2                 1  i+1  j    k    t 
    419 ctin     zdf_avt_avmu_avmv      3       from    bn2_rn2                 1  i    j+1  k    t 
    420  
    421 ctin     zdf_avt_avmu_avmv      4       from    ua                      1  i-1  j    30   t-1 
    422 ctin     zdf_avt_avmu_avmv      5       from    ua                      1  i-1  j+1  30   t-1 
    423 ctin     zdf_avt_avmu_avmv      6       from    ua                      1  i    j    30   t-1 
    424 ctin     zdf_avt_avmu_avmv      7       from    ua                      1  i    j+1  30   t-1 
    425  
    426 ctin     zdf_avt_avmu_avmv      8       from    ua                      1  i-1  j    2    t-1 
    427 ctin     zdf_avt_avmu_avmv      9       from    ua                      1  i-1  j+1  2    t-1 
    428 ctin     zdf_avt_avmu_avmv      10      from    ua                      1  i    j    2    t-1 
    429 ctin     zdf_avt_avmu_avmv      11      from    ua                      1  i    j+1  2    t-1 
    430  
    431 ctin     zdf_avt_avmu_avmv      12      from    va                      1  i    j-1  30   t-1 
    432 ctin     zdf_avt_avmu_avmv      13      from    va                      1  i    j    30   t-1 
    433 ctin     zdf_avt_avmu_avmv      14      from    va                      1  i+1  j-1  30   t-1 
    434 ctin     zdf_avt_avmu_avmv      15      from    va                      1  i+1  j    30   t-1 
    435  
    436 ctin     zdf_avt_avmu_avmv      16      from    va                      1  i    j-1  2    t-1 
    437 ctin     zdf_avt_avmu_avmv      17      from    va                      1  i    j    2    t-1 
    438 ctin     zdf_avt_avmu_avmv      18      from    va                      1  i+1  j-1  2    t-1 
    439 ctin     zdf_avt_avmu_avmv      19      from    va                      1  i+1  j    2    t-1 
     471//ctin   zdf_avt_avmu_avmv      2       from    bn2_rn2                 1  i+1  j    k    t 
     472//ctin   zdf_avt_avmu_avmv      3       from    bn2_rn2                 1  i    j+1  k    t 
     473 
     474 
     475#ifdef JPERIO1 
     476ctin     zdf_avtjperio1         1       from    zdf_avt_avmu_avmv               1  i    j    k    t 
     477ctin     zdf_avtjperio1         2       from    zdf_avt_avmu_avmv               1  NXm1 j    k    t 
     478ctin     zdf_avtjperio1         3       from    zdf_avt_avmu_avmv               1  2    j    k    t 
     479 
     480ctin     zdf_avmujperio1        1       from    zdf_avt_avmu_avmv               2  i    j    k    t 
     481ctin     zdf_avmujperio1        2       from    zdf_avt_avmu_avmv               2  NXm1 j    k    t 
     482ctin     zdf_avmujperio1        3       from    zdf_avt_avmu_avmv               2  2    j    k    t 
     483 
     484ctin     zdf_avmvjperio1        1       from    zdf_avt_avmu_avmv               3  i    j    k    t 
     485ctin     zdf_avmvjperio1        2       from    zdf_avt_avmu_avmv               3  NXm1 j    k    t 
     486ctin     zdf_avmvjperio1        3       from    zdf_avt_avmu_avmv               3  2    j    k    t 
     487#endif 
     488 
     489#ifndef JPERIO1 
     490ctin     zdfbfr_avmu_avmv       1       from    zdf_avt_avmu_avmv       2  i    j    k    t 
     491ctin     zdfbfr_avmu_avmv       2       from    zdf_avt_avmu_avmv       3  i    j    k    t 
     492ctin     zdfbfr_avmu_avmv       3       from    ua                      1  i-1  j    30   t-1 
     493ctin     zdfbfr_avmu_avmv       4       from    ua                      1  i-1  j+1  30   t-1 
     494ctin     zdfbfr_avmu_avmv       5       from    ua                      1  i    j    30   t-1 
     495ctin     zdfbfr_avmu_avmv       6       from    ua                      1  i    j+1  30   t-1 
     496 
     497ctin     zdfbfr_avmu_avmv       7       from    ua                      1  i-1  j    2    t-1 
     498ctin     zdfbfr_avmu_avmv       8       from    ua                      1  i-1  j+1  2    t-1 
     499ctin     zdfbfr_avmu_avmv       9       from    ua                      1  i    j    2    t-1 
     500ctin     zdfbfr_avmu_avmv       10      from    ua                      1  i    j+1  2    t-1 
     501 
     502ctin     zdfbfr_avmu_avmv       11      from    va                      1  i    j-1  30   t-1 
     503ctin     zdfbfr_avmu_avmv       12      from    va                      1  i    j    30   t-1 
     504ctin     zdfbfr_avmu_avmv       13      from    va                      1  i+1  j-1  30   t-1 
     505ctin     zdfbfr_avmu_avmv       14      from    va                      1  i+1  j    30   t-1 
     506 
     507ctin     zdfbfr_avmu_avmv       15      from    va                      1  i    j-1  2    t-1 
     508ctin     zdfbfr_avmu_avmv       16      from    va                      1  i    j    2    t-1 
     509ctin     zdfbfr_avmu_avmv       17      from    va                      1  i+1  j-1  2    t-1 
     510ctin     zdfbfr_avmu_avmv       18      from    va                      1  i+1  j    2    t-1 
    440511 
    441512ctin     zdfmxl_hmld            1..NZ   from    zdf_avt_avmu_avmv       1  i    j   1..NZ t 
     513#endif 
     514 
     515#ifdef JPERIO1 
     516ctin     zdfbfr_avmu_avmv       1       from    zdf_avmujperio1         1  i    j    k    t 
     517ctin     zdfbfr_avmu_avmv       2       from    zdf_avmvjperio1         1  i    j    k    t 
     518ctin     zdfbfr_avmu_avmv       3       from    uajperio1               1  i-1  j    30   t-1 
     519ctin     zdfbfr_avmu_avmv       4       from    uajperio1               1  i-1  j+1  30   t-1 
     520ctin     zdfbfr_avmu_avmv       5       from    uajperio1               1  i    j    30   t-1 
     521ctin     zdfbfr_avmu_avmv       6       from    uajperio1               1  i    j+1  30   t-1 
     522 
     523ctin     zdfbfr_avmu_avmv       7       from    uajperio1               1  i-1  j    2    t-1 
     524ctin     zdfbfr_avmu_avmv       8       from    uajperio1               1  i-1  j+1  2    t-1 
     525ctin     zdfbfr_avmu_avmv       9       from    uajperio1               1  i    j    2    t-1 
     526ctin     zdfbfr_avmu_avmv       10      from    uajperio1               1  i    j+1  2    t-1 
     527 
     528ctin     zdfbfr_avmu_avmv       11      from    vajperio1               1  i    j-1  30   t-1 
     529ctin     zdfbfr_avmu_avmv       12      from    vajperio1               1  i    j    30   t-1 
     530ctin     zdfbfr_avmu_avmv       13      from    vajperio1               1  i+1  j-1  30   t-1 
     531ctin     zdfbfr_avmu_avmv       14      from    vajperio1               1  i+1  j    30   t-1 
     532 
     533ctin     zdfbfr_avmu_avmv       15      from    vajperio1               1  i    j-1  2    t-1 
     534ctin     zdfbfr_avmu_avmv       16      from    vajperio1               1  i    j    2    t-1 
     535ctin     zdfbfr_avmu_avmv       17      from    vajperio1               1  i+1  j-1  2    t-1 
     536ctin     zdfbfr_avmu_avmv       18      from    vajperio1               1  i+1  j    2    t-1 
     537 
     538ctin     zdfmxl_hmld            1..NZ   from    zdf_avtjperio1          1  i    j   1..NZ t 
     539#endif 
     540 
    442541ctin     zdfmxl_nmln_hmlp_hmlpt 1..NZ   from    rhop                    1  i    j   1..NZ t-1 
    443542 
     
    445544ctin     ta_sa_trasbc           1       from    sbcgyre_qsr_qns         2  i    j         t 
    446545ctin     ta_sa_trasbc           2       from    sbcgyre_emps            1  i    j         t 
     546#ifndef JPERIO1 
    447547ctin     ta_sa_trasbc           3       from    sa                      1  i    j    1    t-1 
     548#endif 
     549#ifdef JPERIO1 
     550ctin     ta_sa_trasbc           3       from    sajperio1               1  i    j    1    t-1 
     551#endif 
    448552 
    449553//#---------->traqsr 
     
    452556 
    453557//#---------->traadv_cen2 
     558#ifndef JPERIO1 
    454559ctin    zcent_hor_traadv_cen2   1       from    ua                      1  i    j    k    t-1 
    455560ctin    zcent_hor_traadv_cen2   2       from    va                      1  i    j    k    t-1 
     
    463568ctin    zcens_hor_traadv_cen2   4       from    sa                      1  i    j+1  k    t-1 
    464569ctin    zcens_hor_traadv_cen2   5       from    sa                      1  i+1  j    k    t-1 
     570#endif 
     571#ifdef JPERIO1 
     572ctin    zcent_hor_traadv_cen2   1       from    uajperio1               1  i    j    k    t-1 
     573ctin    zcent_hor_traadv_cen2   2       from    vajperio1               1  i    j    k    t-1 
     574ctin    zcent_hor_traadv_cen2   3       from    tajperio1               1  i    j    k    t-1 
     575ctin    zcent_hor_traadv_cen2   4       from    tajperio1               1  i    j+1  k    t-1 
     576ctin    zcent_hor_traadv_cen2   5       from    tajperio1               1  i+1  j    k    t-1 
     577 
     578ctin    zcens_hor_traadv_cen2   1       from    uajperio1               1  i    j    k    t-1 
     579ctin    zcens_hor_traadv_cen2   2       from    vajperio1               1  i    j    k    t-1 
     580ctin    zcens_hor_traadv_cen2   3       from    sajperio1               1  i    j    k    t-1 
     581ctin    zcens_hor_traadv_cen2   4       from    sajperio1               1  i    j+1  k    t-1 
     582ctin    zcens_hor_traadv_cen2   5       from    sajperio1               1  i+1  j    k    t-1 
     583#endif 
    465584 
    466585ctin    ta_hor_traadv_cen2      1       from    ta_traqsr               1  i    j    k    t 
     
    477596 
    478597ctin    zcent_ver_traadv_cen2   1       from    wa                      1  i    j    k    t-1 
     598#ifndef JPERIO1 
    479599ctin    zcent_ver_traadv_cen2   2       from    ta                      1  i    j    k    t-1 
    480600ctin    zcent_ver_traadv_cen2   3       from    ta                      1  i    j    k-1  t-1 
    481  
     601#endif 
     602#ifdef JPERIO1 
     603ctin    zcent_ver_traadv_cen2   2       from    tajperio1               1  i    j    k    t-1 
     604ctin    zcent_ver_traadv_cen2   3       from    tajperio1               1  i    j    k-1  t-1 
     605#endif 
    482606ctin    zcens_ver_traadv_cen2   1       from    wa                      1  i    j    k    t-1 
     607#ifndef JPERIO1 
    483608ctin    zcens_ver_traadv_cen2   2       from    sa                      1  i    j    k    t-1 
    484609ctin    zcens_ver_traadv_cen2   3       from    sa                      1  i    j    k-1  t-1 
     610#endif 
     611#ifdef JPERIO1 
     612ctin    zcens_ver_traadv_cen2   2       from    sajperio1               1  i    j    k    t-1 
     613ctin    zcens_ver_traadv_cen2   3       from    sajperio1               1  i    j    k-1  t-1 
     614#endif 
    485615 
    486616ctin    ta_ver_traadv_cen2      1       from    ta_hor_traadv_cen2      1  i    j    k    t 
     
    514644 
    515645//#---------->trazdf_imp 
     646#ifndef JPERIO1 
    516647ctin     zwisd_trazdf_imp       1       from    zdf_avt_avmu_avmv       1  i    j    k    t 
    517648ctin     zwisd_trazdf_imp       2       from    zdf_avt_avmu_avmv       1  i    j    k+1  t 
     649#endif 
     650#ifdef JPERIO1 
     651ctin     zwisd_trazdf_imp       1       from    zdf_avtjperio1          1  i    j    k    t 
     652ctin     zwisd_trazdf_imp       2       from    zdf_avtjperio1          1  i    j    k+1  t 
     653#endif 
    518654 
    519655ctin     zrhs_trazdf_imp        1       from    ta_traldf_lap           1  i    j    k    t 
     
    545681 
    546682ctin     sa                     1       from    zwisd_trazdf_imp        2  i    j    k    t 
    547 ctin     sa                     2       from    sa              1  i    j    k+1  t 
     683ctin     sa                     2       from    sa                      1  i    j    k+1  t 
    548684ctin     sa                     3       from    sa_de_trazdf_imp        1  i    j    k    t 
    549685ctin     sa                     4       from    zwt_trazdf_imp          1  i    j    k    t 
    550686ctin     sa                     5       from    sa_c                    1  i    j    k 
    551687 
     688#ifdef JPERIO1 
     689ctin     tajperio1              1       from    ta                      1  i    j    k    t 
     690ctin     tajperio1              2       from    ta                      1  NXm1 j    k    t 
     691ctin     tajperio1              3       from    ta                      1  2    j    k    t 
     692 
     693ctin     sajperio1              1       from    sa                      1  i    j    k    t 
     694ctin     sajperio1              2       from    sa                      1  NXm1 j    k    t 
     695ctin     sajperio1              3       from    sa                      1  2    j    k    t 
     696#endif 
     697 
    552698//#---------->tra_nxt 
    553699ctin     tb                     1       from    tb                      1  i    j    k    t-1 
     700#ifdef JPERIO1 
     701ctin     tb                     2       from    tajperio1               1  i    j    k    t-1 
     702ctin     tb                     3       from    tajperio1               1  i    j    k    t 
     703#endif 
     704#ifndef JPERIO1 
    554705ctin     tb                     2       from    ta                      1  i    j    k    t-1 
    555706ctin     tb                     3       from    ta                      1  i    j    k    t 
     707#endif 
    556708ctin     tb                     4       from    ta_c                    1  i    j    k 
    557709 
    558710ctin     sb                     1       from    sb                      1  i    j    k    t-1 
     711#ifdef JPERIO1 
     712ctin     sb                     2       from    sajperio1               1  i    j    k    t-1 
     713ctin     sb                     3       from    sajperio1               1  i    j    k    t 
     714#endif 
     715#ifndef JPERIO1 
    559716ctin     sb                     2       from    sa                      1  i    j    k    t-1 
    560717ctin     sb                     3       from    sa                      1  i    j    k    t 
     718#endif 
    561719ctin     sb                     4       from    sa_c                    1  i    j    k 
    562720 
     
    569727 
    570728//#---------->dynadv_cen2 
     729#ifndef JPERIO1 
    571730ctin    hmf_TF_dynadv_cen2      1       from    ua                      1  i    j    k    t-1 
    572731ctin    hmf_TF_dynadv_cen2      2       from    ua                      1  i+1  j    k    t-1 
     
    575734ctin    hmf_TF_dynadv_cen2      5       from    va                      1  i+1  j    k    t-1 
    576735ctin    hmf_TF_dynadv_cen2      6       from    va                      1  i    j+1  k    t-1 
     736#endif 
     737#ifdef JPERIO1 
     738ctin    hmf_TF_dynadv_cen2      1       from    uajperio1               1  i    j    k    t-1 
     739ctin    hmf_TF_dynadv_cen2      2       from    uajperio1               1  i+1  j    k    t-1 
     740ctin    hmf_TF_dynadv_cen2      3       from    uajperio1               1  i    j+1  k    t-1 
     741ctin    hmf_TF_dynadv_cen2      4       from    vajperio1               1  i    j    k    t-1 
     742ctin    hmf_TF_dynadv_cen2      5       from    vajperio1               1  i+1  j    k    t-1 
     743ctin    hmf_TF_dynadv_cen2      6       from    vajperio1               1  i    j+1  k    t-1 
     744#endif 
    577745 
    578746ctin    zua_dhmf_dynadv_cen2    1       from    hmf_TF_dynadv_cen2      1  i    j    k    t 
     
    589757ctin    zfuv_UW_dynadv_cen2     2       from    wa                      1  i+1  j    k    t-1 
    590758ctin    zfuv_UW_dynadv_cen2     3       from    wa                      1  i    j+1  k    t-1 
     759#ifndef JPERIO1 
    591760ctin    zfuv_UW_dynadv_cen2     4       from    ua                      1  i    j    k    t-1     
    592761ctin    zfuv_UW_dynadv_cen2     5       from    ua                      1  i    j    k-1  t-1 
    593762ctin    zfuv_UW_dynadv_cen2     6       from    va                      1  i    j    k    t-1     
    594763ctin    zfuv_UW_dynadv_cen2     7       from    va                      1  i    j    k-1  t-1 
     764#endif 
     765#ifdef JPERIO1 
     766ctin    zfuv_UW_dynadv_cen2     4       from    uajperio1               1  i    j    k    t-1     
     767ctin    zfuv_UW_dynadv_cen2     5       from    uajperio1               1  i    j    k-1  t-1 
     768ctin    zfuv_UW_dynadv_cen2     6       from    vajperio1               1  i    j    k    t-1     
     769ctin    zfuv_UW_dynadv_cen2     7       from    vajperio1               1  i    j    k-1  t-1 
     770#endif 
    595771 
    596772ctin    ua_dynadv_cen2          1       from    zfuv_UW_dynadv_cen2     1  i    j    k    t 
     
    603779 
    604780//#---------->vor_ene 
     781#ifndef JPERIO1 
    605782ctin    zwxyz_vor_ene   1       from    ua                      1  i    j    k    t-1 
    606783ctin    zwxyz_vor_ene   2       from    ua                      1  i    j+1  k    t-1 
    607784ctin    zwxyz_vor_ene   3       from    va                      1  i    j    k    t-1 
    608785ctin    zwxyz_vor_ene   4       from    va                      1  i+1  j    k    t-1 
     786#endif 
     787#ifdef JPERIO1 
     788ctin    zwxyz_vor_ene   1       from    uajperio1               1  i    j    k    t-1 
     789ctin    zwxyz_vor_ene   2       from    uajperio1               1  i    j+1  k    t-1 
     790ctin    zwxyz_vor_ene   3       from    vajperio1               1  i    j    k    t-1 
     791ctin    zwxyz_vor_ene   4       from    vajperio1               1  i+1  j    k    t-1 
     792#endif 
    609793 
    610794ctin    ua_vor_ene      1       from    ua_dynadv_cen2          1  i    j    k    t 
     
    626810//#---------->dyn_ldf_lap 
    627811ctin    ua_dyn_ldf_lap  1       from    ua_vor_ene              1  i    j    k    t 
     812#ifndef JPERIO1 
    628813ctin    ua_dyn_ldf_lap  2       from    rotn                    1  i    j-1  k    t-2 
    629814ctin    ua_dyn_ldf_lap  3       from    rotn                    1  i    j    k    t-2 
    630815ctin    ua_dyn_ldf_lap  4       from    hdivn                   1  i    j    k    t-2 
    631816ctin    ua_dyn_ldf_lap  5       from    hdivn                   1  i+1  j    k    t-2 
     817#endif 
     818#ifdef JPERIO1 
     819ctin    ua_dyn_ldf_lap  2       from    rotnjperio1             1  i    j-1  k    t-2 
     820ctin    ua_dyn_ldf_lap  3       from    rotnjperio1             1  i    j    k    t-2 
     821ctin    ua_dyn_ldf_lap  4       from    hdivnjperio1            1  i    j    k    t-2 
     822ctin    ua_dyn_ldf_lap  5       from    hdivnjperio1            1  i+1  j    k    t-2 
     823#endif 
    632824 
    633825ctin    va_dyn_ldf_lap  1       from    va_vor_ene              1  i    j    k    t 
     826#ifndef JPERIO1 
    634827ctin    va_dyn_ldf_lap  2       from    rotn                    1  i-1  j    k    t-2 
    635828ctin    va_dyn_ldf_lap  3       from    rotn                    1  i    j    k    t-2 
    636829ctin    va_dyn_ldf_lap  4       from    hdivn                   1  i    j    k    t-2 
    637830ctin    va_dyn_ldf_lap  5       from    hdivn                   1  i    j+1  k    t-2 
     831#endif 
     832#ifdef JPERIO1 
     833ctin    va_dyn_ldf_lap  2       from    rotnjperio1             1  i-1  j    k    t-2 
     834ctin    va_dyn_ldf_lap  3       from    rotnjperio1             1  i    j    k    t-2 
     835ctin    va_dyn_ldf_lap  4       from    hdivnjperio1            1  i    j    k    t-2 
     836ctin    va_dyn_ldf_lap  5       from    hdivnjperio1            1  i    j+1  k    t-2 
     837#endif 
    638838 
    639839//#---------->dyn__hpg_zco 
     
    654854 
    655855//#---------->dynzdf_imp 
    656 ctin     zwisd_ua_dynzdf_imp    1       from    zdf_avt_avmu_avmv       2  i    j    k    t 
    657 ctin     zwisd_ua_dynzdf_imp    2       from    zdf_avt_avmu_avmv       2  i    j    k+1  t 
    658  
    659 ctin     zwisd_va_dynzdf_imp    1       from    zdf_avt_avmu_avmv       3  i    j    k    t 
    660 ctin     zwisd_va_dynzdf_imp    2       from    zdf_avt_avmu_avmv       3  i    j    k+1  t 
     856ctin     zwisd_ua_dynzdf_imp    1       from    zdfbfr_avmu_avmv        1  i    j    k    t 
     857ctin     zwisd_ua_dynzdf_imp    2       from    zdfbfr_avmu_avmv        1  i    j    k+1  t 
     858 
     859ctin     zwisd_va_dynzdf_imp    1       from    zdfbfr_avmu_avmv        2  i    j    k    t 
     860ctin     zwisd_va_dynzdf_imp    2       from    zdfbfr_avmu_avmv        2  i    j    k+1  t 
    661861 
    662862ctin     zrhs_ua_dynzdf_imp     1       from    ua_dyn_hpg_zco          1  i    j    k    t 
     
    704904ctin     va_norm_dynzdf         2       from    vb                      1  i    j    k    t-1 
    705905 
    706 //#---------->ddynspg_flt 
     906//#---------->dynspg_flt 
    707907ctin     spguv_now_dynspg       1       from    sshn                    1  i    j         t-1 
    708908ctin     spguv_now_dynspg       2       from    sshn                    1  i    j+1       t-1 
     
    720920ctin     sum_spgv_dynspg_flt    1..NZ   from    va_1_dynspg_flt         1  i    j   1..NZ t 
    721921 
     922#ifndef JPERIO1 
    722923ctin     gcb_dynspg_flt         1       from    sum_spgu_dynspg_flt     1  i    j         t 
    723924ctin     gcb_dynspg_flt         2       from    sum_spgu_dynspg_flt     1  i-1  j         t 
    724925ctin     gcb_dynspg_flt         3       from    sum_spgv_dynspg_flt     1  i    j         t 
    725926ctin     gcb_dynspg_flt         4       from    sum_spgv_dynspg_flt     1  i    j-1       t 
     927#endif 
     928 
     929#ifdef JPERIO1 
     930ctin     spgu_dynspg_fltjperio1 1       from    sum_spgu_dynspg_flt     1  i    j         t 
     931ctin     spgu_dynspg_fltjperio1 2       from    sum_spgu_dynspg_flt     1  NXm1 j         t 
     932ctin     spgu_dynspg_fltjperio1 3       from    sum_spgu_dynspg_flt     1  2    j         t 
     933 
     934ctin     spgv_dynspg_fltjperio1 1       from    sum_spgv_dynspg_flt     1  i    j         t 
     935ctin     spgv_dynspg_fltjperio1 2       from    sum_spgv_dynspg_flt     1  NXm1 j         t 
     936ctin     spgv_dynspg_fltjperio1 3       from    sum_spgv_dynspg_flt     1  2    j         t 
     937 
     938ctin     gcb_dynspg_flt         1       from    spgu_dynspg_fltjperio1  1  i    j         t 
     939ctin     gcb_dynspg_flt         2       from    spgu_dynspg_fltjperio1  1  i-1  j         t 
     940ctin     gcb_dynspg_flt         3       from    spgv_dynspg_fltjperio1  1  i    j         t 
     941ctin     gcb_dynspg_flt         4       from    spgv_dynspg_fltjperio1  1  i    j-1       t 
     942#endif 
    726943 
    727944ctin     gcx_dynspg_flt         1       from    gcx2                    1  i    j         t-1 
     
    739956ctin     va                     2       from    spguv_dynspg_flt        2  i    j         t 
    740957ctin     va                     3       from    va_c                    1  i    j    k 
     958 
     959#ifdef JPERIO1 
     960ctin     uajperio1              1       from    ua                      1  i    j    k    t 
     961ctin     uajperio1              2       from    ua                      1  NXm1 j    k    t 
     962ctin     uajperio1              3       from    ua                      1  2    j    k    t 
     963 
     964ctin     vajperio1              1       from    va                      1  i    j    k    t 
     965ctin     vajperio1              2       from    va                      1  NXm1 j    k    t 
     966ctin     vajperio1              3       from    va                      1  2    j    k    t 
     967#endif 
    741968 
    742969ctin     sshn                   1       from    sshb                    1  i    j         t-1 
     
    752979#ifndef SOLSORYAO 
    753980//############## Ajout de ctin "virtuels" ############## 
     981#ifndef JPERIO1 
    754982ctin     solsor_dynspg_flt      1..9    from    gcx_dynspg_flt          1 i%~1 j%~1       t 
    755983ctin     solsor_dynspg_flt      10..18  from    gcb_dynspg_flt          1 i%~1 j%~1       t 
    756984ctin     solsor_dynspg_flt      19      from    solsor_dynspg_flt       1 i-1  j-1       t 
    757985ctin     gcx2                   1       from    solsor_dynspg_flt       1 i    j          t 
     986#endif 
     987#ifdef JPERIO1 
     988ctin     solsor_dynspgfltjperio1 1..9    from    gcx_dynspg_flt         1 i%~1 j%~1       t 
     989ctin     solsor_dynspgfltjperio1 10..18  from    gcb_dynspg_flt         1 i%~1 j%~1       t 
     990ctin     solsor_dynspgfltjperio1 19      from    solsor_dynspgfltjperio1 1 i-1  j-1       t 
     991ctin     gcx2                   1       from    solsor_dynspgfltjperio1 1 i    j          t 
     992#endif 
    758993#endif 
    759994 
     
    7881023//#---------->dyn_nxt 
    7891024ctin    ub              1       from    ub                      1  i    j    k    t-1 
     1025#ifndef JPERIO1 
    7901026ctin    ub              2       from    ua                      1  i    j    k    t-1 
    7911027ctin    ub              3       from    ua                      1  i    j    k    t 
     1028#endif 
     1029#ifdef JPERIO1 
     1030ctin    ub              2       from    uajperio1               1  i    j    k    t-1 
     1031ctin    ub              3       from    uajperio1               1  i    j    k    t 
     1032#endif 
    7921033ctin    ub              4       from    ua_c                    1  i    j    k 
    7931034 
    7941035ctin    vb              1       from    vb                      1  i    j    k    t-1 
     1036#ifndef JPERIO1 
    7951037ctin    vb              2       from    va                      1  i    j    k    t-1 
    7961038ctin    vb              3       from    va                      1  i    j    k    t 
     1039#endif 
     1040#ifdef JPERIO1 
     1041ctin    vb              2       from    vajperio1               1  i    j    k    t-1 
     1042ctin    vb              3       from    vajperio1               1  i    j    k    t 
     1043#endif 
    7971044ctin    vb              4       from    va_c                    1  i    j    k 
    7981045 
    7991046//#---------->divcur 
     1047#ifndef JPERIO1 
    8001048ctin     hdivn                  1       from    ua                      1  i    j    k    t 
    8011049ctin     hdivn                  2       from    ua                      1  i-1  j    k    t 
     
    8071055ctin     rotn                   3       from    ua                      1  i    j+1  k    t 
    8081056ctin     rotn                   4       from    ua                      1  i    j    k    t 
     1057#endif 
     1058 
     1059#ifdef JPERIO1 
     1060ctin     hdivn                  1       from    uajperio1               1  i    j    k    t 
     1061ctin     hdivn                  2       from    uajperio1               1  i-1  j    k    t 
     1062ctin     hdivn                  3       from    vajperio1               1  i    j    k    t 
     1063ctin     hdivn                  4       from    vajperio1               1  i    j-1  k    t 
     1064 
     1065ctin     rotn                   1       from    vajperio1               1  i+1  j    k    t 
     1066ctin     rotn                   2       from    vajperio1               1  i    j    k    t 
     1067ctin     rotn                   3       from    uajperio1               1  i    j+1  k    t 
     1068ctin     rotn                   4       from    uajperio1               1  i    j    k    t 
     1069 
     1070ctin     hdivnjperio1           1       from    hdivn                   1  i    j    k    t 
     1071ctin     hdivnjperio1           2       from    hdivn                   1  NXm1 j    k    t 
     1072ctin     hdivnjperio1           3       from    hdivn                   1  2    j    k    t 
     1073 
     1074ctin     rotnjperio1            1       from    rotn                    1  i    j    k    t 
     1075ctin     rotnjperio1            2       from    rotn                    1  NXm1 j    k    t 
     1076ctin     rotnjperio1            3       from    rotn                    1  2    j    k    t 
     1077#endif 
    8091078 
    8101079//#---------->wzv 
    8111080ctin     wa                     1       from    wa                      1  i    j    k+1  t 
     1081#ifndef JPERIO1 
    8121082ctin     wa                     2       from    hdivn                   1  i    j    k    t 
     1083#endif 
     1084#ifdef JPERIO1 
     1085ctin     wa                     2       from    hdivnjperio1                    1  i    j    k    t 
     1086#endif 
    8131087//#----------> 
    8141088exec disp_ct_in 
     
    8441118            sbcgyre_zsumemp_zsurf 
    8451119      forder 
     1120      order YA1 YA2 YA3 
     1121            zdf_avt_avmu_avmv 
     1122      forder 
    8461123      order YA1 YA2 
    8471124             order YB3 
    848                   zdf_avt_avmu_avmv 
     1125#ifdef JPERIO1 
     1126                  zdf_avtjperio1 
     1127                  zdf_avmujperio1 
     1128                  zdf_avmvjperio1 
     1129#endif        
     1130                  zdfbfr_avmu_avmv 
    8491131                  zwisd_trazdf_imp 
    8501132                  zwisd_ua_dynzdf_imp zwisd_va_dynzdf_imp 
     
    8661148                   zwt_ua_dynzdf_imp zwt_va_dynzdf_imp 
    8671149             forder 
     1150#ifndef JPERIO1 
    8681151             order YB3 
    8691152                   ta sa tb sb rhd rhop 
    870              forder           
    871       forder 
     1153             forder 
     1154#endif        
     1155#ifdef JPERIO1 
     1156             order YB3 
     1157                   ta sa 
     1158             forder 
     1159#endif        
     1160      forder 
     1161#ifdef JPERIO1 
     1162      order YA1 YA2 
     1163             order YB3 
     1164                  tajperio1 sajperio1 tb sb rhd rhop 
     1165             forder 
     1166      forder 
     1167#endif        
     1168 
    8721169      order YA1 YA2 
    8731170            order YA3 
     
    8821179                  ua_1_dynspg_flt va_1_dynspg_flt 
    8831180            forder 
    884                   sum_spgu_dynspg_flt sum_spgv_dynspg_flt 
     1181            sum_spgu_dynspg_flt sum_spgv_dynspg_flt 
    8851182     forder         
    886  
     1183#ifdef JPERIO1 
     1184      order YA1 YA2 
     1185            spgu_dynspg_fltjperio1 spgv_dynspg_fltjperio1 
     1186     forder         
     1187#endif        
    8871188     order YA1 YA2 
    8881189            sbcgyre_wndm  
     
    8901191 
    8911192     forder  
     1193#ifdef JPERIO1 
     1194     order YA1 YA2 
     1195            sbcgyre_wndmjperio1  
     1196 
     1197     forder  
     1198#endif 
    8921199#ifdef SOLSORYAO 
    8931200forder 
     
    8971204//#NO PARALLEL 
    8981205order YA1 YA2 
     1206#ifndef JPERIO1 
    8991207      solsor_dynspg_flt 
     1208#endif 
     1209#ifdef JPERIO1 
     1210      solsor_dynspgfltjperio1 
     1211#endif 
    9001212forder 
    9011213#endif 
     
    9261238            sshn sshb 
    9271239      forder 
     1240#ifndef JPERIO1 
    9281241      order YA2 YA1 
    9291242            spguv_dynspg_flt 
     
    9331246                forder 
    9341247        forder 
     1248#endif 
     1249#ifdef JPERIO1 
     1250      order YA2 YA1 
     1251            spguv_dynspg_flt 
     1252                order YA3 
     1253                      ua va 
     1254                forder 
     1255      forder 
     1256      order YA2 YA1 YA3 
     1257              uajperio1 vajperio1 
     1258              ub vb 
     1259      forder 
     1260#endif 
    9351261 
    9361262//      #---------->divcur 
     
    9381264                    hdivn rotn 
    9391265              forder 
     1266#ifdef JPERIO1 
     1267              order YA3 YA2 YA1 
     1268                    hdivnjperio1 rotnjperio1 
     1269              forder 
     1270#endif 
    9401271//      #---------->wzv 
    9411272              order YA2 YA1 YB3 
     
    9961327            sbcgyre_emp sbcgyre_emps sbcgyre_utau_vtau sbcgyre_wndm 
    9971328      forder 
    998  
     1329#ifdef JPERIO1 
     1330      order YA2 YA1 
     1331            sbcgyre_wndmjperio1 
     1332      forder 
     1333#endif    
    9991334 
    10001335//#---------->bn2 
     
    10061341      order YA3 YA2 YA1 
    10071342            zdf_avt_avmu_avmv 
     1343      forder 
     1344      order YA3 YA2 YA1 
     1345            zdf_avtjperio1 
     1346            zdf_avmujperio1 
     1347            zdf_avmvjperio1 
     1348            zdfbrf_avmu_avmv 
    10081349      forder 
    10091350      order YA2 YA1 
     
    10501391            ta sa  
    10511392      forder 
     1393#ifdef JPERIO1 
     1394      order YA3 YA2 YA1 
     1395            tajperio1 sajperio1 
     1396      forder 
     1397#endif 
    10521398//#---------->tra_nxt 
    10531399      order YA3 YA2 YA1 
     
    11131459            sum_spgu_dynspg_flt sum_spgv_dynspg_flt 
    11141460      forder 
     1461#ifdef JPERIO1 
     1462      order YA1 YA2 
     1463            spgu_dynspg_fltjperio1 spgv_dynspg_fltjperio1 
     1464      forder        
     1465#endif        
    11151466      order YA2 YA1 
    11161467            gcb_dynspg_flt gcx_dynspg_flt 
     
    11231474#ifndef SOLSORYAO 
    11241475order YA1 YA2 
     1476#ifndef JPERIO1 
    11251477      solsor_dynspg_flt 
     1478#endif 
     1479#ifdef JPERIO1 
     1480      solsor_dynspgfltjperio1 
     1481#endif 
    11261482forder 
    11271483#endif 
     
    11591515                forder 
    11601516      forder 
     1517#ifdef JPERIO1 
     1518      order YA2 YA1 YA3 
     1519            uajperio1 vajperio1 
     1520      forder 
     1521#endif 
    11611522//      #---------->dyn_nxt 
    11621523              order YA3 YA2 YA1 
     
    11671528                    hdivn rotn 
    11681529              forder 
     1530#ifdef JPERIO1 
     1531              order YA3 YA2 YA1 
     1532                    hdivnjperio1 rotnjperio1 
     1533              forder 
     1534#endif 
    11691535//      #---------->wzv 
    11701536              order YB3 YA2 YA1 
     
    12261592insert_fct arg init_euler 
    12271593insert_fct arg init_kt 
     1594insert_fct arg xinit_mesh_mask 
     1595insert_fct arg xsetatk 
     1596insert_fct  arg xlire_gphit 
    12281597//#insert_fct  arg load_shape_func 
    12291598//#insert_fct  arg load_stdev_pca 
  • branches/branche-mb2/src/sinobad.h

    r75 r90  
    33/////////////////////////////////////////////////////////////////////////////// 
    44// define, globales, fonctions perso (obligatoire et autres) ... 
    5 // mohamed.berrada@upmc.fr 
     5// mohamed.berrada@locean-ipsl.upmc.fr 
    66/////////////////////////////////////////////////////////////////////////////// 
    77#include"../include/ncutil.h"//netcdf 
    88#define key_zco 
    99#include"../include/phy_cst_file.h" 
     10 
     11#ifdef K_BJET_CONF 
     12#include"../include/namelist_bjet.h" 
     13#else 
    1014#include"../include/namelist.h" 
     15#endif 
     16 
    1117//#define PATH_NCFILES "/usr/home/mblod/neuro/nemo/nemo_opa/TRY/modipsl/config/GYRE/EXP00" 
    1218#define PATH_NCFILES "../data_in" 
     
    103109#endif 
    104110 
     111void xinit_mesh_mask (int argc, char *argv[]);  // lecture mesh_mask et initiatisation rajouter le 04/09/12 (M. Berrada) 
    105112void cal_ff(); 
    106113void xdisplay() ;  
     
    113120void xrst_save(int argc, char *argv[]); 
    114121void xinit_masque_obs(); 
     122 
     123void xlire_gphit(int argc, char *argv[]);  // load meskmask from file : problem with nc file 
    115124////////////////////////////////////////////////////////////// 
    116125// Les fonctions OBLIGATOIRES 
     
    125134  printf("//====================================================================//\n"); 
    126135  printf("\n"); 
     136#ifdef K_JPERIO1 
     137  printf("option JPERIO1 enable\n"); 
     138#else 
     139  printf("option JPERIO1 disable\n"); 
     140#endif 
    127141#ifdef K_FILTER 
    128142  printf("option FILTER enable\n"); 
     
    159173  for (int i=0;i<TA+TU;i++) tniter[i]=0;//nmax;// pour backward de solsor_dynspg_flt.h 
    160174  phy_cst(); 
     175 
     176  /* 
    161177  xinit_mesh_mask_nc();// lire le fichier mesh_mask.nc 
    162178  cal_ff(); 
     
    175191  xtraqsr_init(); 
    176192  YDispTime=1; 
     193*/ 
    177194} 
    178195//____________________________________________________________________________ 
     
    236253{                       // permet d'intervenir si besoin apres le backward 
    237254} 
     255int atk=0; 
    238256//_____________________________________________________________________________ 
    239257short select_io(int indic, char *nmmod, int sortie, int iaxe, int jaxe, int kaxe, int pdt, YREAL *val) 
     
    247265                        // =YIO_OUTOOBS    => appel via outoobs 
    248266 
    249    if(indic==YIO_SAVESTATE && !strcmp(nmmod,"tb") && savemode==1){ 
    250     if(kaxe==0 ) 
     267  //  if(indic==YIO_SAVESTATE && (!strcmp(nmmod,"tb") || !strcmp(nmmod,"sb")) && savemode==1){ 
     268  if(indic==YIO_SAVESTATE && savemode==1){ 
     269    if(kaxe==atk ) 
    251270      return(1); 
    252271    else  
    253272      return(0); 
    254273      } 
    255    if(indic==YIO_SAVESTATE && !strcmp(nmmod,"tb") && savemode==2){ 
     274   if(indic==YIO_SAVESTATE && (!strcmp(nmmod,"tb") || !strcmp(nmmod,"sb")) && savemode==2){ 
    256275     if(iaxe==isave && jaxe==jsave && kaxe==ksave)  
    257276       return(1); 
     
    689708  }  
    690709} 
    691  
    692  
     710void xsetatk(int argc, char *argv[]){ 
     711  if (argc==2){ 
     712    atk=atoi(argv[1])-1; 
     713    if(atk<0 || atk>NZ-1) { 
     714      printf("\n error xsetatk argument\n"); 
     715      exit(1); 
     716    } 
     717  } 
     718  else  
     719    { 
     720      printf("\n error number of agruments in command xsetatk\n"); 
     721      exit(1); 
     722    } 
     723 
     724 
     725} 
    693726//_____________________________________________________________________________ 
    694727void xistate_yao_file(char * pth_file_yao){ // a faire 
     
    742775        ff(i,j) = (zf0+zbeta*fabs(gphif(i,j)-zphi0)*rad*ra);// f = f0 +beta* y ( y=0 at south) 
    743776  } 
     777 
    744778} 
    745779//______________________________________________________________________________ 
     
    766800} 
    767801#endif 
    768  
     802//------------------------  
     803void xinit_mesh_mask (int argc, char *argv[]){  // lecture mesh_mask et initiatisation 
     804  char const    *default_mshmsk_file    = PATH_NCFILES"/mesh_mask.nc"; 
     805  if (argc==1) 
     806    strcpy(mesh_mask_file,default_mshmsk_file); 
     807  else if (argc==2) 
     808    strcpy(mesh_mask_file,argv[1]); 
     809  else  
     810    { 
     811      printf("\n error number of agruments in command xinit_mesh_mask\n"); 
     812      exit(1); 
     813    } 
     814  printf("**********************************************\n"); 
     815  printf("* MESH MASK FILE : %s \n", mesh_mask_file); 
     816  printf("**********************************************\n"); 
     817  xinit_mesh_mask_nc();// lire le fichier mesh_mask.nc 
     818  cal_ff(); 
     819  xdom_init(); 
     820#ifdef K_FILTER 
     821#ifdef K_FZIMP 
     822  luzimp_init(); 
     823#endif 
     824  normfil(); 
     825#endif 
     826  xinit_masque_obs(); 
     827  xsolmat_init(); 
     828  xflt_rst(); 
     829  // xistate_init(); basculer dans .i 
     830  xdisplay(); 
     831  xtraqsr_init(); 
     832  YDispTime=1; 
     833  // 
     834} 
    769835 
    770836//_____________________________________________________________________________ 
     
    12531319} 
    12541320*/ 
     1321void xlire_gphit(int argc, char *argv[])  // load meskmask from file : problem with nc file 
     1322{ 
     1323  int i,j,t; 
     1324  double v; 
     1325  FILE *pf; 
     1326  if((pf=fopen(argv[2],"r"))==NULL){ 
     1327    printf("error: could not find file of %s variable\n",argv[1]); 
     1328    exit(99); 
     1329  } 
     1330  if (!strcmp(argv[1],"gphit")){ 
     1331    for (i=0;i<NX;i++) 
     1332      for(j=0;j<NY;j++){ 
     1333        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1334        gphit(i,j)=v; 
     1335      } 
     1336  } 
     1337  else if (!strcmp(argv[1],"gphiu")){ 
     1338    for (i=0;i<NX;i++) 
     1339      for(j=0;j<NY;j++){ 
     1340        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1341        gphiu(i,j)=v; 
     1342      } 
     1343  } 
     1344  else if (!strcmp(argv[1],"gphiv")){ 
     1345    for (i=0;i<NX;i++) 
     1346      for(j=0;j<NY;j++){ 
     1347        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1348        gphiv(i,j)=v; 
     1349      } 
     1350  } 
     1351  else if (!strcmp(argv[1],"gphif")){ 
     1352    for (i=0;i<NX;i++) 
     1353      for(j=0;j<NY;j++){ 
     1354        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1355        gphif(i,j)=v; 
     1356      } 
     1357  } 
     1358  else if (!strcmp(argv[1],"e1t")){ 
     1359    for (i=0;i<NX;i++) 
     1360      for(j=0;j<NY;j++){ 
     1361        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1362        e1t(i,j)=v; 
     1363      } 
     1364  } 
     1365  else if (!strcmp(argv[1],"e1u")){ 
     1366    for (i=0;i<NX;i++) 
     1367      for(j=0;j<NY;j++){ 
     1368        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1369        e1u(i,j)=v; 
     1370      } 
     1371  } 
     1372  else if (!strcmp(argv[1],"e1v")){ 
     1373    for (i=0;i<NX;i++) 
     1374      for(j=0;j<NY;j++){ 
     1375        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1376        e1v(i,j)=v; 
     1377      } 
     1378  } 
     1379  else if (!strcmp(argv[1],"e1f")){ 
     1380    for (i=0;i<NX;i++) 
     1381      for(j=0;j<NY;j++){ 
     1382        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1383        e1f(i,j)=v; 
     1384      } 
     1385  } 
     1386  else if (!strcmp(argv[1],"e2t")){ 
     1387    for (i=0;i<NX;i++) 
     1388      for(j=0;j<NY;j++){ 
     1389        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1390        e2t(i,j)=v; 
     1391      } 
     1392  } 
     1393  else if (!strcmp(argv[1],"e2u")){ 
     1394    for (i=0;i<NX;i++) 
     1395      for(j=0;j<NY;j++){ 
     1396        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1397        e2u(i,j)=v; 
     1398      } 
     1399  } 
     1400  else if (!strcmp(argv[1],"e2v")){ 
     1401    for (i=0;i<NX;i++) 
     1402      for(j=0;j<NY;j++){ 
     1403        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1404        e2v(i,j)=v; 
     1405      } 
     1406  } 
     1407  else if (!strcmp(argv[1],"e2f")){ 
     1408    for (i=0;i<NX;i++) 
     1409      for(j=0;j<NY;j++){ 
     1410        fscanf(pf," %d %d %lf",&t,&t,&v); 
     1411        e2f(i,j)=v; 
     1412      } 
     1413  } 
     1414  else{ 
     1415    printf( "error: variable name of %s not found\n",argv[1]); 
     1416    exit(99);// abort program){ 
     1417  } 
     1418 } 
     1419  
  • branches/branche-mb2/src/solsor_dynspg_flt.h

    r53 r90  
    265265      return; 
    266266    else{ 
    267       if(Yi==0){ 
     267      if(Yi==0 && Yj==0){ 
    268268        int t,jn,jj,ji, ishift; 
    269269        if(Yt==TU+1 && neuler==0) 
  • branches/branche-mb2/src/ta.h

    r10 r90  
    2323    else{ 
    2424      if(Yk==NZ-2) 
    25         YS1= x3/x4*tmask(Yi,Yj,NZ-2); 
     25        YS1= x3/x4*tmask(Yi,Yj,Yk); 
    2626      else 
    27         YS1=(x3-x1*x2)/x4*tmask(Yi,Yj,NZ-2); 
     27        YS1=(x3-x1*x2)/x4*tmask(Yi,Yj,Yk); 
    2828    } 
    2929  } 
    30   // 
     30   // 
    3131} 
    3232 
  • branches/branche-mb2/src/tb.h

    r72 r90  
    4646      if (Yt<27) 
    4747      //pour generer un tourbillon à Yi=19 et Yj=13 
    48       YS1=YS1+4*exp(-0.75*((Yi - 17.*(NX/32.))*(Yi - 17.*(NX/32.))+  
     48      YS1=YS1+4.*exp(-0.75*((Yi - 17.*(NX/32.))*(Yi - 17.*(NX/32.))+  
    4949                    (Yj - 10.*(NY/22.))*(Yj - 10.*(NY/22.)))) 
    5050        *(1.-exp(-double(Yk+1.-NZ)/NZ))*(1.-exp(-double(Yt-TU)/24.)); 
  • branches/branche-mb2/src/ua.h

    r10 r90  
    1111        2       from    spguv_dynspg_flt        1  i    j         t 
    1212        3       from    ua_c                    1  i    j    k     */ 
    13  
    1413 
    1514  /* YS1  */ 
     
    2827  } 
    2928  // 
     29  /*  if(YS1<-1 || YS1>1){ 
     30    printf("=============================\n"); 
     31    printf("program stoped because abs(u)>2 \n point (i,j,k,t)= (%d,%d,%d,%d)\n", Yi,Yj,Yk,Yt); 
     32    printf("u(%d,%d,%d,%d)=%25.16e\n", Yi,Yj,Yk,Yt, YS1); 
     33       exit(1); 
     34       }*/ 
    3035  /* if(Yt==6 && Yi==28 && Yj==3)  xtest("ua YS_ua",YS_ua(0, Yi, Yj, Yk,Yt),Yi,Yj,Yk,Yt); 
    3136 if(Yt==6 && Yi==28 && Yj==3)  xtest("ua x1",x1,Yi,Yj,Yk,Yt); 
  • branches/branche-mb2/src/ua_norm_dynzdf.h

    r1 r90  
    3030  } 
    3131  // 
     32 
    3233} 
    3334 
  • branches/branche-mb2/src/ub.h

    r1 r90  
    4242  } 
    4343  // 
     44 
    4445} 
    4546//=========================================================================== 
  • branches/branche-mb2/src/zdf_avt_avmu_avmv.h

    r1 r90  
    77//=========================================================================== 
    88//                          methode forward 
    9 forward (YREAL x1,YREAL x2, YREAL x3,YREAL x4,YREAL x5, YREAL x6,YREAL x7,YREAL x8, YREAL x9,YREAL x10,YREAL x11, YREAL x12,YREAL x13,YREAL x14, YREAL x15,YREAL x16,YREAL x17, YREAL x18, YREAL x19) 
     9forward (YREAL x1) 
    1010{/*     1       from    bn2_rn2                 1  i    j    k    t 
    11         2       from    bn2_rn2                 1  i+1  j    k    t 
    12         3       from    bn2_rn2                 1  i    j+1  k    t 
    13  
    14         4       from    ua                      1  i-1  j    30   t-1 
    15         5       from    ua                      1  i-1  j+1  30   t-1 
    16         6       from    ua                      1  i    j    30   t-1 
    17         7       from    ua                      1  i    j+1  30   t-1 
    18  
    19         8       from    ua                      1  i-1  j    1    t-1 
    20         9       from    ua                      1  i-1  j+1  1    t-1 
    21         10      from    ua                      1  i    j    1    t-1 
    22         11      from    ua                      1  i    j+1  1    t-1 
    23  
    24         12      from    va                      1  i    j-1  30   t-1 
    25         13      from    va                      1  i    j    30   t-1 
    26         14      from    va                      1  i+1  j-1  30   t-1 
    27         15      from    va                      1  i+1  j    30   t-1 
    28  
    29         16      from    va                      1  i    j-1  1    t-1 
    30         17      from    va                      1  i    j    1    t-1 
    31         18      from    va                      1  i+1  j-1  1    t-1 
    32         19      from    va                      1  i+1  j    1    t-1*/ 
     11  */ 
    3312 
    3413  //verification calcul exact (Fortran<-->Yao) 
     
    4019  } 
    4120  else{ 
    42     if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 ){//lbc_lnk ! Lateral boundary conditions on ( avt, avmu, avmv )  
    43       YS1=0.; 
    44       YS2=0.; 
    45       YS3=0.; 
     21    if(Yi==0 || Yj==0){//lbc_lnk ! Lateral boundary conditions on ( avt, avmu, avmv )  
     22      YS1=avt0*tmask(Yi,Yj,Yk); 
     23      YS2=avm0*umask(Yi,Yj,Yk); 
     24      YS3=avm0*vmask(Yi,Yj,Yk); 
    4625    }  
    4726    else { 
     
    5029      YS3=avm0*vmask(Yi,Yj,Yk); 
    5130      // zdfevd 
    52       if( x1 <= -1.e-12 ) 
     31      if( x1 <= -1.e-12 ){ 
    5332        YS1=avevd*tmask(Yi,Yj,Yk); 
    54       if( x1 <= -1.e-12 ||  x2 <= -1.e-12) 
    5533        YS2=avevd*umask(Yi,Yj,Yk); 
    56       if( x1 <= -1.e-12 ||  x3 <= -1.e-12) 
    5734        YS3=avevd*vmask(Yi,Yj,Yk); 
    58        
    59       double zvu,zuv,zecu,zecv; 
    60       if(Yk==1 || Yk==30){ 
    61         if(Yi==NX-2){//ikbum1 
    62           if(Yk==1){ 
    63             zvu= 0.25*(x17+x19+x16+x18); 
    64             zecu = sqrt(x10*x10 + zvu*zvu + bfeb2); 
    65             YS2= bfri2 * zecu * fse3uw(Yi,Yj,Yk);//ikbu); 
    66           } 
    67         } 
    68         else{ 
    69           if(Yk==30){ 
    70             zvu= 0.25*(x13+x15+x12+x14); 
    71             zecu = sqrt(x6*x6 + zvu*zvu + bfeb2); 
    72             YS2= bfri2 * zecu * fse3uw(Yi,Yj,Yk);//ikbu); 
    73           } 
    74         } 
    75         if(Yj==NY-2){//ikbvm1 
    76           if(Yk==1){ 
    77             zuv  = 0.25*(x10+x8+x11+x9); 
    78             zecv = sqrt(x17*x17 + zuv*zuv + bfeb2); 
    79             YS3= bfri2 * zecv * fse3vw(Yi,Yj,Yk);//ikbv); 
    80           } 
    81         } 
    82         else { 
    83           if(Yk==30){ 
    84             zuv  = 0.25*(x6+x4+x7+x5); 
    85             zecv = sqrt(x13*x13 + zuv*zuv + bfeb2); 
    86             YS3= bfri2 * zecv * fse3vw(Yi,Yj,Yk);//ikbv); 
    87           } 
    88         } 
    8935      } 
    9036    } 
     
    9642//                         methode  backward 
    9743 
    98 backward (YREAL x1, YREAL x2, YREAL x3, YREAL x4, YREAL x5, YREAL x6, YREAL x7, 
    99           YREAL x8, YREAL x9, YREAL x10, YREAL x11, YREAL x12, YREAL x13,  
    100           YREAL x14, YREAL x15,YREAL x16, YREAL x17, YREAL x18, YREAL x19) 
     44backward (YREAL x1) 
    10145{ 
    102   YJ1I1=0.;  YJ1I2=0.;  YJ1I3=0.;  YJ1I4=0.;  YJ1I5=0.;  YJ1I6=0.;  YJ1I7=0.; 
    103   YJ1I8=0.;  YJ1I9=0.;  YJ1I10=0.; YJ1I11=0.; YJ1I12=0.; YJ1I13=0.; YJ1I14=0.; 
    104   YJ1I15=0.; YJ1I16=0.; YJ1I17=0.; YJ1I18=0.; YJ1I19=0.; 
    105    
    106   YJ2I1=0.;  YJ2I2=0.;  YJ2I3=0.;  YJ2I4=0.;  YJ2I5=0.;  YJ2I6=0.;  YJ2I7=0.; 
    107   YJ2I8=0.;  YJ2I9=0.;  YJ2I10=0.; YJ2I11=0.; YJ2I12=0.; YJ2I13=0.; YJ2I14=0.;  
    108   YJ2I15=0.; YJ2I16=0.; YJ2I17=0.; YJ2I18=0.; YJ2I19=0.; 
    109  
    110   YJ3I1=0.;  YJ3I2=0.;  YJ3I3=0.;  YJ3I4=0.;  YJ3I5=0.;  YJ3I6=0.;  YJ3I7=0.; 
    111   YJ3I8=0.;  YJ3I9=0.;  YJ3I10=0.; YJ3I11=0.; YJ3I12=0.; YJ3I13=0.; YJ3I14=0.; 
    112   YJ3I15=0.; YJ3I16=0.; YJ3I17=0.; YJ3I18=0.; YJ3I19=0.; 
    113  
    114   if(Yt!=TU){ 
    115       if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1){//lbc_lnk ! Lateral boundary conditions on ( avt, avmu, avmv )  
    116         YJ1I1=0.;  YJ1I2=0.;  YJ1I3=0.;  YJ1I4=0.;  YJ1I5=0.;  YJ1I6=0.;  YJ1I7=0.;  YJ1I8=0.;  YJ1I9=0.;  YJ1I10=0.; 
    117         YJ1I11=0.; YJ1I12=0.; YJ1I13=0.; YJ1I14=0.; YJ1I15=0.; YJ1I16=0.; YJ1I17=0.; YJ1I18=0.; YJ1I19=0.; 
    118          
    119         YJ2I1=0.;  YJ2I2=0.;  YJ2I3=0.;  YJ2I4=0.;  YJ2I5=0.;  YJ2I6=0.;  YJ2I7=0.;  YJ2I8=0.;  YJ2I9=0.;  YJ2I10=0.; 
    120         YJ2I11=0.; YJ2I12=0.; YJ2I13=0.; YJ2I14=0.; YJ2I15=0.; YJ2I16=0.; YJ2I17=0.; YJ2I18=0.; YJ2I19=0.; 
    121          
    122         YJ3I1=0.;  YJ3I2=0.;  YJ3I3=0.;  YJ3I4=0.;  YJ3I5=0.;  YJ3I6=0.;  YJ3I7=0.;  YJ3I8=0.;  YJ3I9=0.;  YJ3I10=0.; 
    123         YJ3I11=0.; YJ3I12=0.; YJ3I13=0.; YJ3I14=0.; YJ3I15=0.; YJ3I16=0.; YJ3I17=0.; YJ3I18=0.; YJ3I19=0.; 
    124       }  
    125       else { 
    126         //      xtest("zdf_avt_avmu_avmv",YG1,Yt); 
    127         /*      YS1=avt0*tmask(Yi,Yj,Yk); 
    128         YS2=avm0*umask(Yi,Yj,Yk); 
    129         YS3=avm0*vmask(Yi,Yj,Yk);*/ 
    130         // zdfevd 
    131         /*      if( x1 <= -1.e-12 ) 
    132           S1=avevd*tmask(Yi,Yj,Yk); 
    133         if( x1 <= -1.e-12 ||  x2 <= -1.e-12) 
    134           YS2=avevd*umask(Yi,Yj,Yk); 
    135         if( x1 <= -1.e-12 ||  x3 <= -1.e-12) 
    136         YS3=avevd*vmask(Yi,Yj,Yk);*/ 
    137          
    138         double zvu,zuv,zecu,zecv,dzecu_zvu,dzecv_zuv; 
    139         double  dzvu_x16,dzvu_x17,dzvu_x18,dzvu_x19,dzecu_x10,dzecu_x16,dzecu_x17,dzecu_x18,dzecu_x19; 
    140         double  dzvu_x12,dzvu_x13,dzvu_x14,dzvu_x15,dzecu_x6 ,dzecu_x12,dzecu_x13,dzecu_x14,dzecu_x15; 
    141         double  dzuv_x8 ,dzuv_x9 ,dzuv_x10,dzuv_x11,dzecv_x17,dzecv_x8 ,dzecv_x9 ,dzecv_x10,dzecv_x11; 
    142         double  dzuv_x4 ,dzuv_x5 ,dzuv_x6 ,dzuv_x7 ,dzecv_x13,dzecv_x4 ,dzecv_x5 ,dzecv_x6 ,dzecv_x7; 
    143  
    144         if(Yk==1 || Yk==30){ 
    145           if(Yi==NX-2){//ikbum1 
    146             if(Yk==1){ 
    147               zvu= 0.25*(x17+x19+x16+x18); 
    148               dzvu_x16=0.25; 
    149               dzvu_x17=0.25; 
    150               dzvu_x18=0.25; 
    151               dzvu_x19=0.25; 
    152               zecu = sqrt(x10*x10 + zvu*zvu + bfeb2); 
    153               dzecu_x10=x10/zecu; 
    154               dzecu_zvu=zvu/zecu; 
    155               dzecu_x16=dzecu_zvu*dzvu_x16; 
    156               dzecu_x17=dzecu_zvu*dzvu_x17; 
    157               dzecu_x18=dzecu_zvu*dzvu_x18; 
    158               dzecu_x19=dzecu_zvu*dzvu_x19; 
    159               YJ2I10 = bfri2 * dzecu_x10 * fse3uw(Yi,Yj,Yk); 
    160               YJ2I16 = bfri2 * dzecu_x16 * fse3uw(Yi,Yj,Yk); 
    161               YJ2I17 = bfri2 * dzecu_x17 * fse3uw(Yi,Yj,Yk); 
    162               YJ2I18 = bfri2 * dzecu_x18 * fse3uw(Yi,Yj,Yk); 
    163               YJ2I19 = bfri2 * dzecu_x19 * fse3uw(Yi,Yj,Yk); 
    164             } 
    165             //if(Yk==1) YS2= bfri2 * zecu * fse3uw(Yi,Yj,Yk);//ikbu); 
    166           } 
    167           else{ 
    168             if(Yk==30){ 
    169               zvu= 0.25*(x13+x15+x12+x14); 
    170               dzvu_x12=0.25; 
    171               dzvu_x13=0.25; 
    172               dzvu_x14=0.25; 
    173               dzvu_x15=0.25; 
    174               zecu = sqrt(x6*x6 + zvu*zvu + bfeb2); 
    175               dzecu_x6 =x6/zecu; 
    176               dzecu_zvu=zvu/zecu; 
    177               dzecu_x12=dzecu_zvu*dzvu_x12; 
    178               dzecu_x13=dzecu_zvu*dzvu_x13; 
    179               dzecu_x14=dzecu_zvu*dzvu_x14; 
    180               dzecu_x15=dzecu_zvu*dzvu_x15; 
    181               YJ2I6  = bfri2 * dzecu_x6  * fse3uw(Yi,Yj,Yk); 
    182               YJ2I12 = bfri2 * dzecu_x12 * fse3uw(Yi,Yj,Yk); 
    183               YJ2I13 = bfri2 * dzecu_x13 * fse3uw(Yi,Yj,Yk); 
    184               YJ2I14 = bfri2 * dzecu_x14 * fse3uw(Yi,Yj,Yk); 
    185               YJ2I15 = bfri2 * dzecu_x15 * fse3uw(Yi,Yj,Yk); 
    186               //              YS2= bfri2 * zecu * fse3uw(Yi,Yj,Yk);//ikbu); 
    187             } 
    188           } 
    189           if(Yj==NY-2){//ikbvm1 
    190             if(Yk==1){ 
    191               zuv  = 0.25*(x10+x8+x11+x9); 
    192               dzuv_x8 =0.25; 
    193               dzuv_x9 =0.25; 
    194               dzuv_x10=0.25; 
    195               dzuv_x11=0.25; 
    196               zecv = sqrt(x17*x17 + zuv*zuv + bfeb2); 
    197               dzecv_x17 = x17 / zecv; 
    198               dzecv_zuv = zuv / zecv; 
    199               dzecv_x8 =dzecv_zuv*dzuv_x8; 
    200               dzecv_x9 =dzecv_zuv*dzuv_x9; 
    201               dzecv_x10=dzecv_zuv*dzuv_x10; 
    202               dzecv_x11=dzecv_zuv*dzuv_x11; 
    203               YJ3I8  = bfri2 * dzecv_x8  * fse3vw(Yi,Yj,Yk); 
    204               YJ3I9  = bfri2 * dzecv_x9  * fse3vw(Yi,Yj,Yk); 
    205               YJ3I10 = bfri2 * dzecv_x10 * fse3vw(Yi,Yj,Yk); 
    206               YJ3I11 = bfri2 * dzecv_x11 * fse3vw(Yi,Yj,Yk); 
    207               YJ3I17 = bfri2 * dzecv_x17 * fse3vw(Yi,Yj,Yk); 
    208             } 
    209           } 
    210           else { 
    211             if(Yk==30){ 
    212               zuv  = 0.25*(x6+x4+x7+x5); 
    213               dzuv_x4 =0.25; 
    214               dzuv_x5 =0.25; 
    215               dzuv_x6 =0.25; 
    216               dzuv_x7 =0.25; 
    217               zecv = sqrt(x13*x13 + zuv*zuv + bfeb2); 
    218               dzecv_x13 = x13 / zecv; 
    219               dzecv_zuv = zuv / zecv; 
    220               dzecv_x4 =dzecv_zuv*dzuv_x4; 
    221               dzecv_x5 =dzecv_zuv*dzuv_x5; 
    222               dzecv_x6 =dzecv_zuv*dzuv_x6; 
    223               dzecv_x7 =dzecv_zuv*dzuv_x7; 
    224               YJ3I4  = bfri2 * dzecv_x4  * fse3vw(Yi,Yj,Yk); 
    225               YJ3I5  = bfri2 * dzecv_x5  * fse3vw(Yi,Yj,Yk); 
    226               YJ3I6  = bfri2 * dzecv_x6  * fse3vw(Yi,Yj,Yk); 
    227               YJ3I7  = bfri2 * dzecv_x7  * fse3vw(Yi,Yj,Yk); 
    228               YJ3I13 = bfri2 * dzecv_x13 * fse3vw(Yi,Yj,Yk); 
    229               //              YS3= bfri2 * zecv * fse3vw(Yi,Yj,Yk);//ikbv); 
    230             } 
    231           } 
    232         } 
    233       } 
    234   } 
    235    
     46  YJ1I1=0.;     
     47  YJ2I1=0.;   
     48  YJ3I1=0.;   
    23649} 
    23750 
    238   //=========================================================================== 
    239 //*************************  FIN DU MODULE zdf_avt_avmu_avmv   ************************* 
     51//=========================================================================== 
     52//******************  FIN DU MODULE zdf_avt_avmu_avmv   ********************* 
    24053 
  • branches/branche-mb2/src/zwxyz_vor_ene.h

    r10 r90  
    55// Mohamed Berrada 
    66// locean-ipsl.upmc, Paris, Mars 9, 2009 
     7// Modifier 07/09/2012 (M. Berrada) jperio1 
    78//=========================================================================== 
    89//                          methode forward 
     
    2122    YS1=0.; 
    2223  else{ 
    23     if(Yk==NZ-1 || Yi==NX-1 || Yj==NY-1)  
    24       YS1=0.; 
     24    if(Yk==NZ-1 || Yi==NX-1 || Yj==NY-1) { 
     25      YS3=0.; 
     26      YS1=e2u(Yi,Yj)*x1; 
     27      YS2=e1v(Yi,Yj)*x3; 
     28    } 
    2529    else{ 
    2630      YS1=e2u(Yi,Yj)*x1; 
     
    4650  if(Yt!=TU){   
    4751    if(Yk==NZ-1 || Yi==NX-1 || Yj==NY-1) { 
    48       YJ1I1=0.;     YJ1I2=0.;   YJ1I3=0.;   YJ1I4=0.;   
    49       YJ2I1=0.;     YJ2I2=0.;   YJ2I3=0.;   YJ2I4=0.;   
     52      YJ1I1=e2u(Yi,Yj);  YJ1I2=0.;   YJ1I3=0.;   YJ1I4=0.;   
     53      YJ2I1=0.;     YJ2I2=0.;   YJ2I3=e1v(Yi,Yj);   YJ2I4=0.;   
    5054      YJ3I1=0.;     YJ3I2=0.;   YJ3I3=0.;   YJ3I4=0.;   
    5155    } 
Note: See TracChangeset for help on using the changeset viewer.