Changeset 90
- Timestamp:
- 05/15/13 12:28:18 (11 years ago)
- 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 3 INCNC = /usr/include/ 4 LIBNC = -L/usr/lib64 -lnetcdff -lnetcdf 5 6 3 7 FLAGS=-Wno-deprecated -Wno-write-strings 4 8 GXX=g++ -c -
branches/branche-mb2/include/meshmask.h
r71 r90 1 /* 2 * read mesh_mask.nc 3 * read and write restart file 4 */ 5 1 6 #define nav_lon( i, j ) (nav_lon[(j)*(NX)+(i)]) 2 7 #define nav_lat( i, j ) (nav_lat[(j)*(NX)+(i)]) … … 85 90 typedef float netcdf_type; 86 91 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 93 char mesh_mask_file[200];// = PATH_NCFILES"/mesh_mask.nc"; 88 94 int mesh_mask_file_id; 89 95 int nav_lon_id, nav_lat_id, nav_lev_id; //Utiliser juste pour info … … 337 343 for(int i=0;i<NX;i++){ 338 344 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 } 340 349 341 350 //----------- … … 346 355 for(int i=0;i<NX;i++){ 347 356 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 } 349 361 350 362 //----------- … … 355 367 for(int i=0;i<NX;i++){ 356 368 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 357 372 } 358 373 … … 364 379 for(int i=0;i<NX;i++){ 365 380 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 366 384 } 367 385 … … 392 410 temp_id=Var_id(rest_file_id,"kt"); 393 411 scalarlire(rest_file_id,temp_id,&nit000); 394 412 395 413 } 396 414 -
branches/branche-mb2/include/namelist.h
r71 r90 45 45 // ! =0, no acceleration, rdt = rdttra 46 46 double atfp = 0.1;// ! asselin time filter parameter 47 double rdt = 7200.; // ! time step for the dynamics (and tracer if nacc=0)47 double rdt = 3600.; // ! time step for the dynamics (and tracer if nacc=0) 48 48 double rdtmin = 7200.; // ! minimum time step on tracers (used if nacc=1) 49 49 double rdtmax = 7200.; // ! maximum time step on tracers (used if nacc=1) … … 81 81 //&nam_traldf ! lateral diffusion scheme for tracer 82 82 //!----------------------------------------------------------------------- 83 double aht0 = 1000.;// ! horizontal eddy diffusivity for tracers [m2/s]83 double aht0 = 500.;// ! horizontal eddy diffusivity for tracers [m2/s] 84 84 double ahtb0 = 0.;// ! background eddy diffusivity for ldf_iso [m2/s] 85 85 double aeiv0 = 1000.;// ! eddy induced velocity coefficient [m2/s] (require "key_traldf_eiv") … … 93 93 //&nam_dynldf ! lateral diffusion on momentum 94 94 //!----------------------------------------------------------------------- 95 double ahm0 = 100000.;// ! horizontal eddy viscosity [m2/s]95 double ahm0 = 30000.;// ! horizontal eddy viscosity [m2/s] 96 96 double ahmb0 = 0.;// ! background eddy viscosity for ldf_iso [m2/s] 97 97 -
branches/branche-mb2/scripts/sinobad_2D_filtre.i
r80 r90 12 12 13 13 ##INITIALISATION 14 xinit_mesh_mask ../data_in/meshmask/mesh_mask_gyre1deg.nc 14 15 xistate_init 1 ../data_in/file_rest/GYRE_00000424_restart.nc 16 #xistate_init 1 ../data_in/file_rest/GYRE1s3d_00004320_restart.nc 15 17 load_eb ta_c ||// pour tenir en compte ta_c sinon sera 0 cause filtre 16 18 true_target_in_tab ta_c … … 31 33 32 34 ##OBSERVATION 33 xwriteout 50 obs_48../data_out/exp_T_2D.nc35 xwriteout 12 obs_10 ../data_out/exp_T_2D.nc 34 36 35 37 #Pour ne sauvegarder que la surface 36 38 xchangesavemode 1 37 39 38 savestate tb 1 ijk 50 A 1 ../data_out/tb_obs_48_2D.dat40 #savestate tb 1 ijk 50 A 1 ../data_out/tb_obs_48_2D.dat 39 41 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 43 savestate tb 1 ijk 12 A 1 ../data_out/tb_obs_10_2D.dat 44 45 loadobs tb 1 ijk 12 A 1 ../data_out/tb_obs_10_2D.dat D 41 46 42 47 #goto FINRUN 43 48 44 49 ##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 51 xistate_init 1 ../data_in/file_rest/GYRE1s3d_00000200_restart.nc 46 52 load_eb ta_c // charger l'ebauche ' 47 53 setstate nu 0 -
branches/branche-mb2/src/Makefile
r78 r90 2 2 #GENOPT= -E 3 3 GENOPT=-DOPTIMORDER -E 4 YAOPT= -p -n +g -x sinobad4 YAOPT= -p -n +g +w -x sinobad 5 5 6 6 essai: 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 8 9 9 10 essai.d: essai.c -
branches/branche-mb2/src/gcx_dynspg_flt.h
r1 r90 28 28 } 29 29 //if(Yi==28 && Yj==3) xtest("gcx_dynspg_flt",YS1,Yi,Yj,Yk,Yt); 30 31 30 // 32 31 } -
branches/branche-mb2/src/hmf_TF_dynadv_cen2.h
r1 r90 31 31 } 32 32 else{ 33 zfu=0.25*(double)e2u(Yi,Yj)*(double)fse3 v(Yi,Yj,Yk)*x1;34 zfuip1=0.25*(double)e2u(Yi+1,Yj)*(double)fse3 v(Yi+1,Yj,Yk)*x2;35 zfujp1=0.25*e2u(Yi,Yj+1)*fse3 v(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; 36 36 37 37 zfv=0.25*e1v(Yi,Yj)*fse3v(Yi,Yj,Yk)*x4; -
branches/branche-mb2/src/sbcgyre_qsr_qns.h
r64 r90 10 10 // methode forward 11 11 forward (YREAL x1) 12 {/* 1 from t a 1 i j 1 t-2*/12 {/* 1 from tb 1 i j 1 t-1*/ 13 13 14 14 /* verification code au 1er pas de temps, Mohamed, April 3, 2009 … … 27 27 - (nyear - 1) * rjjhh * raajj; // ! minus years since beginning of experiment (in hours) 28 28 */ 29 29 30 double ztime = kt * rdt / (rmmss * rhhmm) // ! total incrementation (in hours) 30 31 - (nyear - 1) * rjjhh * raajj; // ! minus years since beginning of experiment (in hours) … … 44 45 double ztrp= - 40.e0; // ! retroaction term on heat fluxes (W/m2/K) 45 46 // 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.)); 47 48 // ! 23.5 deg : tropics 48 49 YS1 = 230*cos(3.1415*(gphit(Yi,Yj)-23.5*zcos_sais1)/(0.9*180.)); 49 50 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); 55 53 } 56 54 // -
branches/branche-mb2/src/sinobad.d
r78 r90 7 7 //#define OPTIMORDER 8 8 9 //#define JPERIO1 10 9 11 //#============================================================================== 10 12 //# fichier de DESCRIPTION sinobad.d … … 12 14 //#modification (#define) Julien Brajard 06/2011 13 15 //#modification (filtre) Mohamed Berrada 19/07/2011 16 //#modification (jperio1 BC cyclic E-W) Mohamed Berrada 03/09/2012 14 17 //#============================================================================== 15 18 //#DEFVAL ---------------------------------------------DEFVAL 16 19 //#definition de valeur 17 20 defval NPCA 15 18 defval NX 32 19 defval NY 22 21 //defval NX 32 22 //defval NXm1 31 23 //defval NY 22 24 defval NX 62 25 defval NXm1 61 26 defval NY 42 27 //defval NX 92 28 //defval NXm1 91 29 //defval NY 62 20 30 defval NZ 31 21 31 defval NMAX 800 // ! maximum of iterations for the SOR solver 22 defval TA 10|__DATE__ | number of time steps32 defval TA 22 |__DATE__ | number of time steps 23 33 defval TU 2 | start time step 24 34 #ifdef FILTER … … 49 59 defval K_OPTIMORDER 50 60 #endif 61 #ifdef JPERIO1 62 defval K_JPERIO1 63 #endif 64 51 65 //#defval EDDY 52 66 … … 59 73 option O_M1QN3 60 74 //#option O_VARINCR 61 //#option O_GRADTEST75 option O_GRADTEST 62 76 //#option O_DBG_NANF 63 77 //#option O_DBG_TING … … 151 165 modul sbcgyre_utau_vtau space S3dt inter YA1 YA2 input 0 output 2 tempo 152 166 modul sbcgyre_wndm space S3dt inter YA1 YA2 input 4 output 1 tempo 167 #ifdef JPERIO1 168 modul sbcgyre_wndmjperio1 space S3dt inter YA1 YA2 input 3 output 1 tempo 169 #endif 153 170 //##END_sbc (fin routine sbc) 154 171 … … 159 176 //##START_zdf (n_evdm=1,nbotfr=2) 160 177 //#mélange vertical 161 modul zdf_avt_avmu_avmv space S3dt input 19 output 3 tempo 178 modul zdf_avt_avmu_avmv space S3dt input 1 output 3 tempo 179 modul zdfbfr_avmu_avmv space S3dt input 18 output 2 tempo 162 180 modul zdfmxl_hmld space S3dt inter YA1 YA2 input array NZ output 1 tempo 163 181 modul zdfmxl_nmln_hmlp_hmlpt space S3dt inter YA1 YA2 input array NZ output 3 tempo 182 183 #ifdef JPERIO1 184 modul zdf_avtjperio1 space S3dt input 3 output 1 tempo 185 modul zdf_avmujperio1 space S3dt input 3 output 1 tempo 186 modul zdf_avmvjperio1 space S3dt input 3 output 1 tempo 187 #endif 188 164 189 //##END_zdf 165 190 … … 205 230 modul sa space S3dt input 5 output 1 tempo 206 231 //##END_trazdf_imp 232 233 #ifdef JPERIO1 234 modul tajperio1 space S3dt input 3 output 1 tempo 235 modul sajperio1 space S3dt input 3 output 1 tempo 236 #endif 207 237 208 238 //##START_tra_nxt … … 271 301 modul sum_spgu_dynspg_flt space S3dt inter YA1 YA2 input array NZ output 1 tempo 272 302 modul sum_spgv_dynspg_flt space S3dt inter YA1 YA2 input array NZ output 1 tempo 303 304 #ifdef JPERIO1 305 modul spgu_dynspg_fltjperio1 space S3dt inter YA1 YA2 input 3 output 1 tempo 306 modul spgv_dynspg_fltjperio1 space S3dt inter YA1 YA2 input 3 output 1 tempo 307 #endif 308 273 309 modul gcb_dynspg_flt space S3dt inter YA1 YA2 input 4 output 1 tempo 274 310 modul gcx_dynspg_flt space S3dt inter YA1 YA2 input 2 output 1 tempo 275 311 #ifndef SOLSORYAO 312 #ifndef JPERIO1 276 313 modul solsor_dynspg_flt space S3dt inter YA1 YA2 input array 19 output 1 tempo hidjac 314 #endif 315 #ifdef JPERIO1 316 modul solsor_dynspgfltjperio1 space S3dt inter YA1 YA2 input array 19 output 1 tempo hidjac 317 #endif 277 318 modul gcx2 space S3dt inter YA1 YA2 input 1 output 1 tempo hidjac 278 319 #endif … … 286 327 #endif 287 328 288 289 290 329 modul spguv_dynspg_flt space S3dt inter YA1 YA2 input 3 output 2 tempo 291 330 modul ua space S3dt input 3 output 1 tempo … … 296 335 297 336 //##START_dyn_nxt 337 #ifdef JPERIO1 338 modul uajperio1 space S3dt input 3 output 1 tempo 339 modul vajperio1 space S3dt input 3 output 1 tempo 340 #endif 298 341 //#nxt : filtre d'asselin 299 342 modul ub space S3dt input 4 output 1 tempo cout … … 305 348 modul hdivn space S3dt input 4 output 1 tempo 306 349 modul rotn space S3dt input 4 output 1 tempo 350 #ifdef JPERIO1 351 modul hdivnjperio1 space S3dt input 3 output 1 tempo 352 modul rotnjperio1 space S3dt input 3 output 1 tempo 353 #endif 307 354 //##END_divcur 308 355 … … 408 455 ctin sbcgyre_wndm 4 from sbcgyre_utau_vtau 2 i j t 409 456 457 #ifdef JPERIO1 458 ctin sbcgyre_wndmjperio1 1 from sbcgyre_wndm 1 i j t 459 ctin sbcgyre_wndmjperio1 2 from sbcgyre_wndm 1 NXm1 j t 460 ctin sbcgyre_wndmjperio1 3 from sbcgyre_wndm 1 2 j t 461 #endif 462 410 463 //#---------->bn2 411 464 ctin bn2_rn2 1 from tb 1 i j k t-1 … … 416 469 //#---------->zdf 417 470 ctin 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 476 ctin zdf_avtjperio1 1 from zdf_avt_avmu_avmv 1 i j k t 477 ctin zdf_avtjperio1 2 from zdf_avt_avmu_avmv 1 NXm1 j k t 478 ctin zdf_avtjperio1 3 from zdf_avt_avmu_avmv 1 2 j k t 479 480 ctin zdf_avmujperio1 1 from zdf_avt_avmu_avmv 2 i j k t 481 ctin zdf_avmujperio1 2 from zdf_avt_avmu_avmv 2 NXm1 j k t 482 ctin zdf_avmujperio1 3 from zdf_avt_avmu_avmv 2 2 j k t 483 484 ctin zdf_avmvjperio1 1 from zdf_avt_avmu_avmv 3 i j k t 485 ctin zdf_avmvjperio1 2 from zdf_avt_avmu_avmv 3 NXm1 j k t 486 ctin zdf_avmvjperio1 3 from zdf_avt_avmu_avmv 3 2 j k t 487 #endif 488 489 #ifndef JPERIO1 490 ctin zdfbfr_avmu_avmv 1 from zdf_avt_avmu_avmv 2 i j k t 491 ctin zdfbfr_avmu_avmv 2 from zdf_avt_avmu_avmv 3 i j k t 492 ctin zdfbfr_avmu_avmv 3 from ua 1 i-1 j 30 t-1 493 ctin zdfbfr_avmu_avmv 4 from ua 1 i-1 j+1 30 t-1 494 ctin zdfbfr_avmu_avmv 5 from ua 1 i j 30 t-1 495 ctin zdfbfr_avmu_avmv 6 from ua 1 i j+1 30 t-1 496 497 ctin zdfbfr_avmu_avmv 7 from ua 1 i-1 j 2 t-1 498 ctin zdfbfr_avmu_avmv 8 from ua 1 i-1 j+1 2 t-1 499 ctin zdfbfr_avmu_avmv 9 from ua 1 i j 2 t-1 500 ctin zdfbfr_avmu_avmv 10 from ua 1 i j+1 2 t-1 501 502 ctin zdfbfr_avmu_avmv 11 from va 1 i j-1 30 t-1 503 ctin zdfbfr_avmu_avmv 12 from va 1 i j 30 t-1 504 ctin zdfbfr_avmu_avmv 13 from va 1 i+1 j-1 30 t-1 505 ctin zdfbfr_avmu_avmv 14 from va 1 i+1 j 30 t-1 506 507 ctin zdfbfr_avmu_avmv 15 from va 1 i j-1 2 t-1 508 ctin zdfbfr_avmu_avmv 16 from va 1 i j 2 t-1 509 ctin zdfbfr_avmu_avmv 17 from va 1 i+1 j-1 2 t-1 510 ctin zdfbfr_avmu_avmv 18 from va 1 i+1 j 2 t-1 440 511 441 512 ctin zdfmxl_hmld 1..NZ from zdf_avt_avmu_avmv 1 i j 1..NZ t 513 #endif 514 515 #ifdef JPERIO1 516 ctin zdfbfr_avmu_avmv 1 from zdf_avmujperio1 1 i j k t 517 ctin zdfbfr_avmu_avmv 2 from zdf_avmvjperio1 1 i j k t 518 ctin zdfbfr_avmu_avmv 3 from uajperio1 1 i-1 j 30 t-1 519 ctin zdfbfr_avmu_avmv 4 from uajperio1 1 i-1 j+1 30 t-1 520 ctin zdfbfr_avmu_avmv 5 from uajperio1 1 i j 30 t-1 521 ctin zdfbfr_avmu_avmv 6 from uajperio1 1 i j+1 30 t-1 522 523 ctin zdfbfr_avmu_avmv 7 from uajperio1 1 i-1 j 2 t-1 524 ctin zdfbfr_avmu_avmv 8 from uajperio1 1 i-1 j+1 2 t-1 525 ctin zdfbfr_avmu_avmv 9 from uajperio1 1 i j 2 t-1 526 ctin zdfbfr_avmu_avmv 10 from uajperio1 1 i j+1 2 t-1 527 528 ctin zdfbfr_avmu_avmv 11 from vajperio1 1 i j-1 30 t-1 529 ctin zdfbfr_avmu_avmv 12 from vajperio1 1 i j 30 t-1 530 ctin zdfbfr_avmu_avmv 13 from vajperio1 1 i+1 j-1 30 t-1 531 ctin zdfbfr_avmu_avmv 14 from vajperio1 1 i+1 j 30 t-1 532 533 ctin zdfbfr_avmu_avmv 15 from vajperio1 1 i j-1 2 t-1 534 ctin zdfbfr_avmu_avmv 16 from vajperio1 1 i j 2 t-1 535 ctin zdfbfr_avmu_avmv 17 from vajperio1 1 i+1 j-1 2 t-1 536 ctin zdfbfr_avmu_avmv 18 from vajperio1 1 i+1 j 2 t-1 537 538 ctin zdfmxl_hmld 1..NZ from zdf_avtjperio1 1 i j 1..NZ t 539 #endif 540 442 541 ctin zdfmxl_nmln_hmlp_hmlpt 1..NZ from rhop 1 i j 1..NZ t-1 443 542 … … 445 544 ctin ta_sa_trasbc 1 from sbcgyre_qsr_qns 2 i j t 446 545 ctin ta_sa_trasbc 2 from sbcgyre_emps 1 i j t 546 #ifndef JPERIO1 447 547 ctin ta_sa_trasbc 3 from sa 1 i j 1 t-1 548 #endif 549 #ifdef JPERIO1 550 ctin ta_sa_trasbc 3 from sajperio1 1 i j 1 t-1 551 #endif 448 552 449 553 //#---------->traqsr … … 452 556 453 557 //#---------->traadv_cen2 558 #ifndef JPERIO1 454 559 ctin zcent_hor_traadv_cen2 1 from ua 1 i j k t-1 455 560 ctin zcent_hor_traadv_cen2 2 from va 1 i j k t-1 … … 463 568 ctin zcens_hor_traadv_cen2 4 from sa 1 i j+1 k t-1 464 569 ctin zcens_hor_traadv_cen2 5 from sa 1 i+1 j k t-1 570 #endif 571 #ifdef JPERIO1 572 ctin zcent_hor_traadv_cen2 1 from uajperio1 1 i j k t-1 573 ctin zcent_hor_traadv_cen2 2 from vajperio1 1 i j k t-1 574 ctin zcent_hor_traadv_cen2 3 from tajperio1 1 i j k t-1 575 ctin zcent_hor_traadv_cen2 4 from tajperio1 1 i j+1 k t-1 576 ctin zcent_hor_traadv_cen2 5 from tajperio1 1 i+1 j k t-1 577 578 ctin zcens_hor_traadv_cen2 1 from uajperio1 1 i j k t-1 579 ctin zcens_hor_traadv_cen2 2 from vajperio1 1 i j k t-1 580 ctin zcens_hor_traadv_cen2 3 from sajperio1 1 i j k t-1 581 ctin zcens_hor_traadv_cen2 4 from sajperio1 1 i j+1 k t-1 582 ctin zcens_hor_traadv_cen2 5 from sajperio1 1 i+1 j k t-1 583 #endif 465 584 466 585 ctin ta_hor_traadv_cen2 1 from ta_traqsr 1 i j k t … … 477 596 478 597 ctin zcent_ver_traadv_cen2 1 from wa 1 i j k t-1 598 #ifndef JPERIO1 479 599 ctin zcent_ver_traadv_cen2 2 from ta 1 i j k t-1 480 600 ctin zcent_ver_traadv_cen2 3 from ta 1 i j k-1 t-1 481 601 #endif 602 #ifdef JPERIO1 603 ctin zcent_ver_traadv_cen2 2 from tajperio1 1 i j k t-1 604 ctin zcent_ver_traadv_cen2 3 from tajperio1 1 i j k-1 t-1 605 #endif 482 606 ctin zcens_ver_traadv_cen2 1 from wa 1 i j k t-1 607 #ifndef JPERIO1 483 608 ctin zcens_ver_traadv_cen2 2 from sa 1 i j k t-1 484 609 ctin zcens_ver_traadv_cen2 3 from sa 1 i j k-1 t-1 610 #endif 611 #ifdef JPERIO1 612 ctin zcens_ver_traadv_cen2 2 from sajperio1 1 i j k t-1 613 ctin zcens_ver_traadv_cen2 3 from sajperio1 1 i j k-1 t-1 614 #endif 485 615 486 616 ctin ta_ver_traadv_cen2 1 from ta_hor_traadv_cen2 1 i j k t … … 514 644 515 645 //#---------->trazdf_imp 646 #ifndef JPERIO1 516 647 ctin zwisd_trazdf_imp 1 from zdf_avt_avmu_avmv 1 i j k t 517 648 ctin zwisd_trazdf_imp 2 from zdf_avt_avmu_avmv 1 i j k+1 t 649 #endif 650 #ifdef JPERIO1 651 ctin zwisd_trazdf_imp 1 from zdf_avtjperio1 1 i j k t 652 ctin zwisd_trazdf_imp 2 from zdf_avtjperio1 1 i j k+1 t 653 #endif 518 654 519 655 ctin zrhs_trazdf_imp 1 from ta_traldf_lap 1 i j k t … … 545 681 546 682 ctin sa 1 from zwisd_trazdf_imp 2 i j k t 547 ctin sa 2 from sa 1 i j k+1 t683 ctin sa 2 from sa 1 i j k+1 t 548 684 ctin sa 3 from sa_de_trazdf_imp 1 i j k t 549 685 ctin sa 4 from zwt_trazdf_imp 1 i j k t 550 686 ctin sa 5 from sa_c 1 i j k 551 687 688 #ifdef JPERIO1 689 ctin tajperio1 1 from ta 1 i j k t 690 ctin tajperio1 2 from ta 1 NXm1 j k t 691 ctin tajperio1 3 from ta 1 2 j k t 692 693 ctin sajperio1 1 from sa 1 i j k t 694 ctin sajperio1 2 from sa 1 NXm1 j k t 695 ctin sajperio1 3 from sa 1 2 j k t 696 #endif 697 552 698 //#---------->tra_nxt 553 699 ctin tb 1 from tb 1 i j k t-1 700 #ifdef JPERIO1 701 ctin tb 2 from tajperio1 1 i j k t-1 702 ctin tb 3 from tajperio1 1 i j k t 703 #endif 704 #ifndef JPERIO1 554 705 ctin tb 2 from ta 1 i j k t-1 555 706 ctin tb 3 from ta 1 i j k t 707 #endif 556 708 ctin tb 4 from ta_c 1 i j k 557 709 558 710 ctin sb 1 from sb 1 i j k t-1 711 #ifdef JPERIO1 712 ctin sb 2 from sajperio1 1 i j k t-1 713 ctin sb 3 from sajperio1 1 i j k t 714 #endif 715 #ifndef JPERIO1 559 716 ctin sb 2 from sa 1 i j k t-1 560 717 ctin sb 3 from sa 1 i j k t 718 #endif 561 719 ctin sb 4 from sa_c 1 i j k 562 720 … … 569 727 570 728 //#---------->dynadv_cen2 729 #ifndef JPERIO1 571 730 ctin hmf_TF_dynadv_cen2 1 from ua 1 i j k t-1 572 731 ctin hmf_TF_dynadv_cen2 2 from ua 1 i+1 j k t-1 … … 575 734 ctin hmf_TF_dynadv_cen2 5 from va 1 i+1 j k t-1 576 735 ctin hmf_TF_dynadv_cen2 6 from va 1 i j+1 k t-1 736 #endif 737 #ifdef JPERIO1 738 ctin hmf_TF_dynadv_cen2 1 from uajperio1 1 i j k t-1 739 ctin hmf_TF_dynadv_cen2 2 from uajperio1 1 i+1 j k t-1 740 ctin hmf_TF_dynadv_cen2 3 from uajperio1 1 i j+1 k t-1 741 ctin hmf_TF_dynadv_cen2 4 from vajperio1 1 i j k t-1 742 ctin hmf_TF_dynadv_cen2 5 from vajperio1 1 i+1 j k t-1 743 ctin hmf_TF_dynadv_cen2 6 from vajperio1 1 i j+1 k t-1 744 #endif 577 745 578 746 ctin zua_dhmf_dynadv_cen2 1 from hmf_TF_dynadv_cen2 1 i j k t … … 589 757 ctin zfuv_UW_dynadv_cen2 2 from wa 1 i+1 j k t-1 590 758 ctin zfuv_UW_dynadv_cen2 3 from wa 1 i j+1 k t-1 759 #ifndef JPERIO1 591 760 ctin zfuv_UW_dynadv_cen2 4 from ua 1 i j k t-1 592 761 ctin zfuv_UW_dynadv_cen2 5 from ua 1 i j k-1 t-1 593 762 ctin zfuv_UW_dynadv_cen2 6 from va 1 i j k t-1 594 763 ctin zfuv_UW_dynadv_cen2 7 from va 1 i j k-1 t-1 764 #endif 765 #ifdef JPERIO1 766 ctin zfuv_UW_dynadv_cen2 4 from uajperio1 1 i j k t-1 767 ctin zfuv_UW_dynadv_cen2 5 from uajperio1 1 i j k-1 t-1 768 ctin zfuv_UW_dynadv_cen2 6 from vajperio1 1 i j k t-1 769 ctin zfuv_UW_dynadv_cen2 7 from vajperio1 1 i j k-1 t-1 770 #endif 595 771 596 772 ctin ua_dynadv_cen2 1 from zfuv_UW_dynadv_cen2 1 i j k t … … 603 779 604 780 //#---------->vor_ene 781 #ifndef JPERIO1 605 782 ctin zwxyz_vor_ene 1 from ua 1 i j k t-1 606 783 ctin zwxyz_vor_ene 2 from ua 1 i j+1 k t-1 607 784 ctin zwxyz_vor_ene 3 from va 1 i j k t-1 608 785 ctin zwxyz_vor_ene 4 from va 1 i+1 j k t-1 786 #endif 787 #ifdef JPERIO1 788 ctin zwxyz_vor_ene 1 from uajperio1 1 i j k t-1 789 ctin zwxyz_vor_ene 2 from uajperio1 1 i j+1 k t-1 790 ctin zwxyz_vor_ene 3 from vajperio1 1 i j k t-1 791 ctin zwxyz_vor_ene 4 from vajperio1 1 i+1 j k t-1 792 #endif 609 793 610 794 ctin ua_vor_ene 1 from ua_dynadv_cen2 1 i j k t … … 626 810 //#---------->dyn_ldf_lap 627 811 ctin ua_dyn_ldf_lap 1 from ua_vor_ene 1 i j k t 812 #ifndef JPERIO1 628 813 ctin ua_dyn_ldf_lap 2 from rotn 1 i j-1 k t-2 629 814 ctin ua_dyn_ldf_lap 3 from rotn 1 i j k t-2 630 815 ctin ua_dyn_ldf_lap 4 from hdivn 1 i j k t-2 631 816 ctin ua_dyn_ldf_lap 5 from hdivn 1 i+1 j k t-2 817 #endif 818 #ifdef JPERIO1 819 ctin ua_dyn_ldf_lap 2 from rotnjperio1 1 i j-1 k t-2 820 ctin ua_dyn_ldf_lap 3 from rotnjperio1 1 i j k t-2 821 ctin ua_dyn_ldf_lap 4 from hdivnjperio1 1 i j k t-2 822 ctin ua_dyn_ldf_lap 5 from hdivnjperio1 1 i+1 j k t-2 823 #endif 632 824 633 825 ctin va_dyn_ldf_lap 1 from va_vor_ene 1 i j k t 826 #ifndef JPERIO1 634 827 ctin va_dyn_ldf_lap 2 from rotn 1 i-1 j k t-2 635 828 ctin va_dyn_ldf_lap 3 from rotn 1 i j k t-2 636 829 ctin va_dyn_ldf_lap 4 from hdivn 1 i j k t-2 637 830 ctin va_dyn_ldf_lap 5 from hdivn 1 i j+1 k t-2 831 #endif 832 #ifdef JPERIO1 833 ctin va_dyn_ldf_lap 2 from rotnjperio1 1 i-1 j k t-2 834 ctin va_dyn_ldf_lap 3 from rotnjperio1 1 i j k t-2 835 ctin va_dyn_ldf_lap 4 from hdivnjperio1 1 i j k t-2 836 ctin va_dyn_ldf_lap 5 from hdivnjperio1 1 i j+1 k t-2 837 #endif 638 838 639 839 //#---------->dyn__hpg_zco … … 654 854 655 855 //#---------->dynzdf_imp 656 ctin zwisd_ua_dynzdf_imp 1 from zdf _avt_avmu_avmv 2i j k t657 ctin zwisd_ua_dynzdf_imp 2 from zdf _avt_avmu_avmv 2i j k+1 t658 659 ctin zwisd_va_dynzdf_imp 1 from zdf _avt_avmu_avmv 3i j k t660 ctin zwisd_va_dynzdf_imp 2 from zdf _avt_avmu_avmv 3i j k+1 t856 ctin zwisd_ua_dynzdf_imp 1 from zdfbfr_avmu_avmv 1 i j k t 857 ctin zwisd_ua_dynzdf_imp 2 from zdfbfr_avmu_avmv 1 i j k+1 t 858 859 ctin zwisd_va_dynzdf_imp 1 from zdfbfr_avmu_avmv 2 i j k t 860 ctin zwisd_va_dynzdf_imp 2 from zdfbfr_avmu_avmv 2 i j k+1 t 661 861 662 862 ctin zrhs_ua_dynzdf_imp 1 from ua_dyn_hpg_zco 1 i j k t … … 704 904 ctin va_norm_dynzdf 2 from vb 1 i j k t-1 705 905 706 //#---------->d dynspg_flt906 //#---------->dynspg_flt 707 907 ctin spguv_now_dynspg 1 from sshn 1 i j t-1 708 908 ctin spguv_now_dynspg 2 from sshn 1 i j+1 t-1 … … 720 920 ctin sum_spgv_dynspg_flt 1..NZ from va_1_dynspg_flt 1 i j 1..NZ t 721 921 922 #ifndef JPERIO1 722 923 ctin gcb_dynspg_flt 1 from sum_spgu_dynspg_flt 1 i j t 723 924 ctin gcb_dynspg_flt 2 from sum_spgu_dynspg_flt 1 i-1 j t 724 925 ctin gcb_dynspg_flt 3 from sum_spgv_dynspg_flt 1 i j t 725 926 ctin gcb_dynspg_flt 4 from sum_spgv_dynspg_flt 1 i j-1 t 927 #endif 928 929 #ifdef JPERIO1 930 ctin spgu_dynspg_fltjperio1 1 from sum_spgu_dynspg_flt 1 i j t 931 ctin spgu_dynspg_fltjperio1 2 from sum_spgu_dynspg_flt 1 NXm1 j t 932 ctin spgu_dynspg_fltjperio1 3 from sum_spgu_dynspg_flt 1 2 j t 933 934 ctin spgv_dynspg_fltjperio1 1 from sum_spgv_dynspg_flt 1 i j t 935 ctin spgv_dynspg_fltjperio1 2 from sum_spgv_dynspg_flt 1 NXm1 j t 936 ctin spgv_dynspg_fltjperio1 3 from sum_spgv_dynspg_flt 1 2 j t 937 938 ctin gcb_dynspg_flt 1 from spgu_dynspg_fltjperio1 1 i j t 939 ctin gcb_dynspg_flt 2 from spgu_dynspg_fltjperio1 1 i-1 j t 940 ctin gcb_dynspg_flt 3 from spgv_dynspg_fltjperio1 1 i j t 941 ctin gcb_dynspg_flt 4 from spgv_dynspg_fltjperio1 1 i j-1 t 942 #endif 726 943 727 944 ctin gcx_dynspg_flt 1 from gcx2 1 i j t-1 … … 739 956 ctin va 2 from spguv_dynspg_flt 2 i j t 740 957 ctin va 3 from va_c 1 i j k 958 959 #ifdef JPERIO1 960 ctin uajperio1 1 from ua 1 i j k t 961 ctin uajperio1 2 from ua 1 NXm1 j k t 962 ctin uajperio1 3 from ua 1 2 j k t 963 964 ctin vajperio1 1 from va 1 i j k t 965 ctin vajperio1 2 from va 1 NXm1 j k t 966 ctin vajperio1 3 from va 1 2 j k t 967 #endif 741 968 742 969 ctin sshn 1 from sshb 1 i j t-1 … … 752 979 #ifndef SOLSORYAO 753 980 //############## Ajout de ctin "virtuels" ############## 981 #ifndef JPERIO1 754 982 ctin solsor_dynspg_flt 1..9 from gcx_dynspg_flt 1 i%~1 j%~1 t 755 983 ctin solsor_dynspg_flt 10..18 from gcb_dynspg_flt 1 i%~1 j%~1 t 756 984 ctin solsor_dynspg_flt 19 from solsor_dynspg_flt 1 i-1 j-1 t 757 985 ctin gcx2 1 from solsor_dynspg_flt 1 i j t 986 #endif 987 #ifdef JPERIO1 988 ctin solsor_dynspgfltjperio1 1..9 from gcx_dynspg_flt 1 i%~1 j%~1 t 989 ctin solsor_dynspgfltjperio1 10..18 from gcb_dynspg_flt 1 i%~1 j%~1 t 990 ctin solsor_dynspgfltjperio1 19 from solsor_dynspgfltjperio1 1 i-1 j-1 t 991 ctin gcx2 1 from solsor_dynspgfltjperio1 1 i j t 992 #endif 758 993 #endif 759 994 … … 788 1023 //#---------->dyn_nxt 789 1024 ctin ub 1 from ub 1 i j k t-1 1025 #ifndef JPERIO1 790 1026 ctin ub 2 from ua 1 i j k t-1 791 1027 ctin ub 3 from ua 1 i j k t 1028 #endif 1029 #ifdef JPERIO1 1030 ctin ub 2 from uajperio1 1 i j k t-1 1031 ctin ub 3 from uajperio1 1 i j k t 1032 #endif 792 1033 ctin ub 4 from ua_c 1 i j k 793 1034 794 1035 ctin vb 1 from vb 1 i j k t-1 1036 #ifndef JPERIO1 795 1037 ctin vb 2 from va 1 i j k t-1 796 1038 ctin vb 3 from va 1 i j k t 1039 #endif 1040 #ifdef JPERIO1 1041 ctin vb 2 from vajperio1 1 i j k t-1 1042 ctin vb 3 from vajperio1 1 i j k t 1043 #endif 797 1044 ctin vb 4 from va_c 1 i j k 798 1045 799 1046 //#---------->divcur 1047 #ifndef JPERIO1 800 1048 ctin hdivn 1 from ua 1 i j k t 801 1049 ctin hdivn 2 from ua 1 i-1 j k t … … 807 1055 ctin rotn 3 from ua 1 i j+1 k t 808 1056 ctin rotn 4 from ua 1 i j k t 1057 #endif 1058 1059 #ifdef JPERIO1 1060 ctin hdivn 1 from uajperio1 1 i j k t 1061 ctin hdivn 2 from uajperio1 1 i-1 j k t 1062 ctin hdivn 3 from vajperio1 1 i j k t 1063 ctin hdivn 4 from vajperio1 1 i j-1 k t 1064 1065 ctin rotn 1 from vajperio1 1 i+1 j k t 1066 ctin rotn 2 from vajperio1 1 i j k t 1067 ctin rotn 3 from uajperio1 1 i j+1 k t 1068 ctin rotn 4 from uajperio1 1 i j k t 1069 1070 ctin hdivnjperio1 1 from hdivn 1 i j k t 1071 ctin hdivnjperio1 2 from hdivn 1 NXm1 j k t 1072 ctin hdivnjperio1 3 from hdivn 1 2 j k t 1073 1074 ctin rotnjperio1 1 from rotn 1 i j k t 1075 ctin rotnjperio1 2 from rotn 1 NXm1 j k t 1076 ctin rotnjperio1 3 from rotn 1 2 j k t 1077 #endif 809 1078 810 1079 //#---------->wzv 811 1080 ctin wa 1 from wa 1 i j k+1 t 1081 #ifndef JPERIO1 812 1082 ctin wa 2 from hdivn 1 i j k t 1083 #endif 1084 #ifdef JPERIO1 1085 ctin wa 2 from hdivnjperio1 1 i j k t 1086 #endif 813 1087 //#----------> 814 1088 exec disp_ct_in … … 844 1118 sbcgyre_zsumemp_zsurf 845 1119 forder 1120 order YA1 YA2 YA3 1121 zdf_avt_avmu_avmv 1122 forder 846 1123 order YA1 YA2 847 1124 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 849 1131 zwisd_trazdf_imp 850 1132 zwisd_ua_dynzdf_imp zwisd_va_dynzdf_imp … … 866 1148 zwt_ua_dynzdf_imp zwt_va_dynzdf_imp 867 1149 forder 1150 #ifndef JPERIO1 868 1151 order YB3 869 1152 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 872 1169 order YA1 YA2 873 1170 order YA3 … … 882 1179 ua_1_dynspg_flt va_1_dynspg_flt 883 1180 forder 884 1181 sum_spgu_dynspg_flt sum_spgv_dynspg_flt 885 1182 forder 886 1183 #ifdef JPERIO1 1184 order YA1 YA2 1185 spgu_dynspg_fltjperio1 spgv_dynspg_fltjperio1 1186 forder 1187 #endif 887 1188 order YA1 YA2 888 1189 sbcgyre_wndm … … 890 1191 891 1192 forder 1193 #ifdef JPERIO1 1194 order YA1 YA2 1195 sbcgyre_wndmjperio1 1196 1197 forder 1198 #endif 892 1199 #ifdef SOLSORYAO 893 1200 forder … … 897 1204 //#NO PARALLEL 898 1205 order YA1 YA2 1206 #ifndef JPERIO1 899 1207 solsor_dynspg_flt 1208 #endif 1209 #ifdef JPERIO1 1210 solsor_dynspgfltjperio1 1211 #endif 900 1212 forder 901 1213 #endif … … 926 1238 sshn sshb 927 1239 forder 1240 #ifndef JPERIO1 928 1241 order YA2 YA1 929 1242 spguv_dynspg_flt … … 933 1246 forder 934 1247 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 935 1261 936 1262 // #---------->divcur … … 938 1264 hdivn rotn 939 1265 forder 1266 #ifdef JPERIO1 1267 order YA3 YA2 YA1 1268 hdivnjperio1 rotnjperio1 1269 forder 1270 #endif 940 1271 // #---------->wzv 941 1272 order YA2 YA1 YB3 … … 996 1327 sbcgyre_emp sbcgyre_emps sbcgyre_utau_vtau sbcgyre_wndm 997 1328 forder 998 1329 #ifdef JPERIO1 1330 order YA2 YA1 1331 sbcgyre_wndmjperio1 1332 forder 1333 #endif 999 1334 1000 1335 //#---------->bn2 … … 1006 1341 order YA3 YA2 YA1 1007 1342 zdf_avt_avmu_avmv 1343 forder 1344 order YA3 YA2 YA1 1345 zdf_avtjperio1 1346 zdf_avmujperio1 1347 zdf_avmvjperio1 1348 zdfbrf_avmu_avmv 1008 1349 forder 1009 1350 order YA2 YA1 … … 1050 1391 ta sa 1051 1392 forder 1393 #ifdef JPERIO1 1394 order YA3 YA2 YA1 1395 tajperio1 sajperio1 1396 forder 1397 #endif 1052 1398 //#---------->tra_nxt 1053 1399 order YA3 YA2 YA1 … … 1113 1459 sum_spgu_dynspg_flt sum_spgv_dynspg_flt 1114 1460 forder 1461 #ifdef JPERIO1 1462 order YA1 YA2 1463 spgu_dynspg_fltjperio1 spgv_dynspg_fltjperio1 1464 forder 1465 #endif 1115 1466 order YA2 YA1 1116 1467 gcb_dynspg_flt gcx_dynspg_flt … … 1123 1474 #ifndef SOLSORYAO 1124 1475 order YA1 YA2 1476 #ifndef JPERIO1 1125 1477 solsor_dynspg_flt 1478 #endif 1479 #ifdef JPERIO1 1480 solsor_dynspgfltjperio1 1481 #endif 1126 1482 forder 1127 1483 #endif … … 1159 1515 forder 1160 1516 forder 1517 #ifdef JPERIO1 1518 order YA2 YA1 YA3 1519 uajperio1 vajperio1 1520 forder 1521 #endif 1161 1522 // #---------->dyn_nxt 1162 1523 order YA3 YA2 YA1 … … 1167 1528 hdivn rotn 1168 1529 forder 1530 #ifdef JPERIO1 1531 order YA3 YA2 YA1 1532 hdivnjperio1 rotnjperio1 1533 forder 1534 #endif 1169 1535 // #---------->wzv 1170 1536 order YB3 YA2 YA1 … … 1226 1592 insert_fct arg init_euler 1227 1593 insert_fct arg init_kt 1594 insert_fct arg xinit_mesh_mask 1595 insert_fct arg xsetatk 1596 insert_fct arg xlire_gphit 1228 1597 //#insert_fct arg load_shape_func 1229 1598 //#insert_fct arg load_stdev_pca -
branches/branche-mb2/src/sinobad.h
r75 r90 3 3 /////////////////////////////////////////////////////////////////////////////// 4 4 // define, globales, fonctions perso (obligatoire et autres) ... 5 // mohamed.berrada@ upmc.fr5 // mohamed.berrada@locean-ipsl.upmc.fr 6 6 /////////////////////////////////////////////////////////////////////////////// 7 7 #include"../include/ncutil.h"//netcdf 8 8 #define key_zco 9 9 #include"../include/phy_cst_file.h" 10 11 #ifdef K_BJET_CONF 12 #include"../include/namelist_bjet.h" 13 #else 10 14 #include"../include/namelist.h" 15 #endif 16 11 17 //#define PATH_NCFILES "/usr/home/mblod/neuro/nemo/nemo_opa/TRY/modipsl/config/GYRE/EXP00" 12 18 #define PATH_NCFILES "../data_in" … … 103 109 #endif 104 110 111 void xinit_mesh_mask (int argc, char *argv[]); // lecture mesh_mask et initiatisation rajouter le 04/09/12 (M. Berrada) 105 112 void cal_ff(); 106 113 void xdisplay() ; … … 113 120 void xrst_save(int argc, char *argv[]); 114 121 void xinit_masque_obs(); 122 123 void xlire_gphit(int argc, char *argv[]); // load meskmask from file : problem with nc file 115 124 ////////////////////////////////////////////////////////////// 116 125 // Les fonctions OBLIGATOIRES … … 125 134 printf("//====================================================================//\n"); 126 135 printf("\n"); 136 #ifdef K_JPERIO1 137 printf("option JPERIO1 enable\n"); 138 #else 139 printf("option JPERIO1 disable\n"); 140 #endif 127 141 #ifdef K_FILTER 128 142 printf("option FILTER enable\n"); … … 159 173 for (int i=0;i<TA+TU;i++) tniter[i]=0;//nmax;// pour backward de solsor_dynspg_flt.h 160 174 phy_cst(); 175 176 /* 161 177 xinit_mesh_mask_nc();// lire le fichier mesh_mask.nc 162 178 cal_ff(); … … 175 191 xtraqsr_init(); 176 192 YDispTime=1; 193 */ 177 194 } 178 195 //____________________________________________________________________________ … … 236 253 { // permet d'intervenir si besoin apres le backward 237 254 } 255 int atk=0; 238 256 //_____________________________________________________________________________ 239 257 short select_io(int indic, char *nmmod, int sortie, int iaxe, int jaxe, int kaxe, int pdt, YREAL *val) … … 247 265 // =YIO_OUTOOBS => appel via outoobs 248 266 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 ) 251 270 return(1); 252 271 else 253 272 return(0); 254 273 } 255 if(indic==YIO_SAVESTATE && !strcmp(nmmod,"tb") && savemode==2){274 if(indic==YIO_SAVESTATE && (!strcmp(nmmod,"tb") || !strcmp(nmmod,"sb")) && savemode==2){ 256 275 if(iaxe==isave && jaxe==jsave && kaxe==ksave) 257 276 return(1); … … 689 708 } 690 709 } 691 692 710 void 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 } 693 726 //_____________________________________________________________________________ 694 727 void xistate_yao_file(char * pth_file_yao){ // a faire … … 742 775 ff(i,j) = (zf0+zbeta*fabs(gphif(i,j)-zphi0)*rad*ra);// f = f0 +beta* y ( y=0 at south) 743 776 } 777 744 778 } 745 779 //______________________________________________________________________________ … … 766 800 } 767 801 #endif 768 802 //------------------------ 803 void 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 } 769 835 770 836 //_____________________________________________________________________________ … … 1253 1319 } 1254 1320 */ 1321 void 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 265 265 return; 266 266 else{ 267 if(Yi==0 ){267 if(Yi==0 && Yj==0){ 268 268 int t,jn,jj,ji, ishift; 269 269 if(Yt==TU+1 && neuler==0) -
branches/branche-mb2/src/ta.h
r10 r90 23 23 else{ 24 24 if(Yk==NZ-2) 25 YS1= x3/x4*tmask(Yi,Yj, NZ-2);25 YS1= x3/x4*tmask(Yi,Yj,Yk); 26 26 else 27 YS1=(x3-x1*x2)/x4*tmask(Yi,Yj, NZ-2);27 YS1=(x3-x1*x2)/x4*tmask(Yi,Yj,Yk); 28 28 } 29 29 } 30 //30 // 31 31 } 32 32 -
branches/branche-mb2/src/tb.h
r72 r90 46 46 if (Yt<27) 47 47 //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.))+ 49 49 (Yj - 10.*(NY/22.))*(Yj - 10.*(NY/22.)))) 50 50 *(1.-exp(-double(Yk+1.-NZ)/NZ))*(1.-exp(-double(Yt-TU)/24.)); -
branches/branche-mb2/src/ua.h
r10 r90 11 11 2 from spguv_dynspg_flt 1 i j t 12 12 3 from ua_c 1 i j k */ 13 14 13 15 14 /* YS1 */ … … 28 27 } 29 28 // 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 }*/ 30 35 /* if(Yt==6 && Yi==28 && Yj==3) xtest("ua YS_ua",YS_ua(0, Yi, Yj, Yk,Yt),Yi,Yj,Yk,Yt); 31 36 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 30 30 } 31 31 // 32 32 33 } 33 34 -
branches/branche-mb2/src/ub.h
r1 r90 42 42 } 43 43 // 44 44 45 } 45 46 //=========================================================================== -
branches/branche-mb2/src/zdf_avt_avmu_avmv.h
r1 r90 7 7 //=========================================================================== 8 8 // 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)9 forward (YREAL x1) 10 10 {/* 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 */ 33 12 34 13 //verification calcul exact (Fortran<-->Yao) … … 40 19 } 41 20 else{ 42 if(Yi==0 || Y i==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); 46 25 } 47 26 else { … … 50 29 YS3=avm0*vmask(Yi,Yj,Yk); 51 30 // zdfevd 52 if( x1 <= -1.e-12 ) 31 if( x1 <= -1.e-12 ){ 53 32 YS1=avevd*tmask(Yi,Yj,Yk); 54 if( x1 <= -1.e-12 || x2 <= -1.e-12)55 33 YS2=avevd*umask(Yi,Yj,Yk); 56 if( x1 <= -1.e-12 || x3 <= -1.e-12)57 34 YS3=avevd*vmask(Yi,Yj,Yk); 58 59 double zvu,zuv,zecu,zecv;60 if(Yk==1 || Yk==30){61 if(Yi==NX-2){//ikbum162 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){//ikbvm176 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 }89 35 } 90 36 } … … 96 42 // methode backward 97 43 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) 44 backward (YREAL x1) 101 45 { 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.; 236 49 } 237 50 238 239 //****************** ******* FIN DU MODULE zdf_avt_avmu_avmv *************************51 //=========================================================================== 52 //****************** FIN DU MODULE zdf_avt_avmu_avmv ********************* 240 53 -
branches/branche-mb2/src/zwxyz_vor_ene.h
r10 r90 5 5 // Mohamed Berrada 6 6 // locean-ipsl.upmc, Paris, Mars 9, 2009 7 // Modifier 07/09/2012 (M. Berrada) jperio1 7 8 //=========================================================================== 8 9 // methode forward … … 21 22 YS1=0.; 22 23 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 } 25 29 else{ 26 30 YS1=e2u(Yi,Yj)*x1; … … 46 50 if(Yt!=TU){ 47 51 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.; 50 54 YJ3I1=0.; YJ3I2=0.; YJ3I3=0.; YJ3I4=0.; 51 55 }
Note: See TracChangeset
for help on using the changeset viewer.