Changeset 14 for trunk/include/meshmask.h
- Timestamp:
- 03/18/11 17:35:53 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/meshmask.h
r8 r14 410 410 } 411 411 412 void write_rst_var(int t, int ncid, int dimids[]) { 412 void write_out_var_init (int ncid, int dimids[]) 413 { 414 //Ecrit les variables de navigation pour les sorties 413 415 YREAL vect[NZ*NY*NX]; 414 416 417 415 418 //nav_lon 416 419 for(int j=0;j<NY;j++) … … 432 435 } 433 436 zncwrite(NZ,"nav_lev",ncid,dimids,vect); 437 } 438 439 void write_out_var(int t, int ncid, char const *suff ) 440 { 441 YREAL vect [NZ*NY*NX]; 442 char varname[200]; 443 int dimids[4]; 444 //retrouve les dimensions 445 nc_inq_dimid(ncid,"x",&dimids[3]); 446 nc_inq_dimid(ncid,"y",&dimids[2]); 447 nc_inq_dimid(ncid,"z",&dimids[1]); 448 nc_inq_dimid(ncid,"t",&dimids[0]); 449 450 //u 451 if (t==0) sprintf(varname,"ua_c_%s",suff); 452 else sprintf (varname,"ub_%s",suff); 453 for(int k=0;k<NZ;k++) 454 for(int j=0;j<NY;j++) 455 for(int i=0;i<NX;i++){ 456 if (t==0) vect[(k)*(NY*NX)+(j)*(NX)+(i)]=YS_ua_c(0,i,j,k); 457 else vect[(k)*(NY*NX)+(j)*(NX)+(i)]=YS_ub(0,i,j,k,t-1); 458 } 459 voncwrite(0,NZ,NY,NX,varname,ncid,dimids,vect); 460 461 //u 462 if (t==0) sprintf(varname,"va_c_%s",suff); 463 else sprintf (varname,"vb_%s",suff); 464 for(int k=0;k<NZ;k++) 465 for(int j=0;j<NY;j++) 466 for(int i=0;i<NX;i++){ 467 if (t==0) vect[(k)*(NY*NX)+(j)*(NX)+(i)]=YS_va_c(0,i,j,k); 468 else vect[(k)*(NY*NX)+(j)*(NX)+(i)]=YS_vb(0,i,j,k,t-1); 469 } 470 voncwrite(0,NZ,NY,NX,varname,ncid,dimids,vect); 471 472 //t 473 if (t==0) sprintf(varname,"ta_c_%s",suff); 474 else sprintf (varname,"tb_%s",suff); 475 for(int k=0;k<NZ;k++) 476 for(int j=0;j<NY;j++) 477 for(int i=0;i<NX;i++){ 478 if (t==0) vect[(k)*(NY*NX)+(j)*(NX)+(i)]=YS_ta_c(0,i,j,k); 479 else vect[(k)*(NY*NX)+(j)*(NX)+(i)]=YS_tb(0,i,j,k,t-1); 480 } 481 voncwrite(0,NZ,NY,NX,varname,ncid,dimids,vect); 482 483 //s 484 if (t==0) sprintf(varname,"sa_c_%s",suff); 485 else sprintf (varname,"sb_%s",suff); 486 for(int k=0;k<NZ;k++) 487 for(int j=0;j<NY;j++) 488 for(int i=0;i<NX;i++){ 489 if (t==0) vect[(k)*(NY*NX)+(j)*(NX)+(i)]=YS_sa_c(0,i,j,k); 490 else vect[(k)*(NY*NX)+(j)*(NX)+(i)]=YS_sb(0,i,j,k,t-1); 491 } 492 voncwrite(0,NZ,NY,NX,varname,ncid,dimids,vect); 493 494 //ssh 495 if (t==0) sprintf(varname,"sshn_c_%s",suff); 496 else sprintf (varname,"sshb_%s",suff); 497 for(int j=0;j<NY;j++) 498 for(int i=0;i<NX;i++){ 499 if (t==0) vect[(j)*(NX)+(i)]=YS_sshn_c(0,i,j); 500 else vect[(j)*(NX)+(i)]=YS_sshb(0,i,j,t-1); 501 } 502 soncwrite(0,NY,NX,varname,ncid,dimids,vect); 503 504 } 505 506 507 void write_rst_var(int t, int ncid, int dimids[]) { 508 YREAL vect[NZ*NY*NX]; 509 510 //nav_lon 511 for(int j=0;j<NY;j++) 512 for(int i=0;i<NX;i++){ 513 vect[(j)*(NX)+(i)]=nav_lon( i, j ); 514 } 515 sncwrite(NY,NX,"nav_lon",ncid,dimids,vect); 516 517 //nav_lat 518 for(int j=0;j<NY;j++) 519 for(int i=0;i<NX;i++){ 520 vect[(j)*(NX)+(i)]=nav_lat( i, j ); 521 } 522 sncwrite(NY,NX,"nav_lat",ncid,dimids,vect); 523 524 //nav_lev 525 for(int k=0;k<NZ;k++){ 526 vect[k]=nav_lev[k]; 527 } 528 zncwrite(NZ,"nav_lev",ncid,dimids,vect); 434 529 435 530 //time_counter
Note: See TracChangeset
for help on using the changeset viewer.