Changeset 160 for altifloat/src


Ignore:
Timestamp:
07/20/15 11:51:06 (9 years ago)
Author:
jbrlod
Message:

finalize wind effect

Location:
altifloat/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • altifloat/src/floater.h

    r158 r160  
    2525YREAL uwind[nlon][nlat][jptfl]; 
    2626YREAL vwind[nlon][nlat][jptfl]; 
     27YREAL utotal[nlon][nlat][jptfl]; 
     28YREAL vtotal[nlon][nlat][jptfl]; 
    2729 
    2830//Background 
     
    8890        ubck[i][j][k]=0; 
    8991        vbck[i][j][k]=0; 
     92        utotal[i][j][k]=0; 
     93        vtotal[i][j][k]=0; 
    9094      } 
    9195} 
     
    277281   
    278282  int time[Ntime]; 
    279   float u10[Ntime][nlat][nlon]; 
    280   float v10[Ntime][nlat][nlon]; 
    281    
     283  float (*u10)[nlat][nlon] = new float[Ntime][nlat][nlon]; 
     284  float (*v10)[nlat][nlon] = new float[Ntime][nlat][nlon]; 
     285 
     286  //  float u10[Ntime][Nlat][Nlon]; 
     287  //float v10[Ntime][Nlat][Nlon]; 
     288  
     289  if ((retval = nc_get_var_float(ncid,u10id,&u10[0][0][0]))) 
     290    ERR(retval); 
     291   
     292  if ((retval = nc_get_var_float(ncid,v10id,&v10[0][0][0]))) 
     293    ERR(retval); 
     294 
     295  
    282296  if ((retval = nc_get_var_int(ncid,timeid,&time[0]))) 
    283297    ERR(retval); 
    284298   
    285   if ((retval = nc_get_var_float(ncid,u10id,&u10[0][0][0]))) 
    286     ERR(retval); 
    287    
    288   if ((retval = nc_get_var_float(ncid,v10id,&v10[0][0][0]))) 
    289     ERR(retval); 
    290299 
    291300  //Load time dimensions 
     
    500509void update_uv(){ 
    501510  int j,k,t; 
    502   for (t=0;t<jtlag+1;t++) 
     511  for (t=0;t<jtlag;t++) 
    503512    for (j=0;j<nlon;j++) 
    504513      for (k=0;k<nlat;k++) { 
    505         YS1_u(j,k,t)+=YS1_u_d(j,k); 
    506         YS1_v(j,k,t)+=YS1_v_d(j,k); 
     514        YS1_u(j,k,t+1)+=YS1_u_d(j,k); 
     515        YS1_v(j,k,t+1)+=YS1_v_d(j,k); 
    507516        //printf("u=%f delu=%f \n",YS1_u(j,k),YS1_u_d(j,k));     
    508517 
     
    564573    for (j=0;j<nlon;j++) 
    565574      for (k=0;k<nlat;k++) { 
    566         umod[j][k][it]=YS1_u(j,k,it-iti); 
    567         vmod[j][k][it]=YS1_v(j,k,it-iti); 
     575        umod[j][k][it]=YS1_u(j,k,it-iti+1); 
     576        vmod[j][k][it]=YS1_v(j,k,it-iti+1); 
     577        utotal[j][k][it]=YS1_utot(j,k,it-iti+1); 
     578        vtotal[j][k][it]=YS1_vtot(j,k,it-iti+1); 
    568579#ifdef UPDATE_BCK 
    569         ubck[j][k][it]=YS1_u(j,k,it-iti); 
    570         vbck[j][k][it]=YS1_v(j,k,it-iti); 
     580        ubck[j][k][it]=YS1_u(j,k,it-iti+1); 
     581        vbck[j][k][it]=YS1_v(j,k,it-iti+1); 
    571582#endif 
    572583      } 
     
    630641        for (k=0;k<nlat;k++) { 
    631642          fprintf(fid,"%d %d %d %f %f\n",it,j,k,umod[j][k][it],vmod[j][k][it]); 
     643        } 
     644                                              
     645  fclose(fid); 
     646 
     647} 
     648 
     649void save_output_uvtot (int argc, char *argv[]) { 
     650  FILE *fid; 
     651  fid=fopen(argv[1],"w"); 
     652  if (fid==NULL) { 
     653    printf("\nfailed to open %s",argv[1]); 
     654    exit(3); 
     655  } 
     656  int j,k,it; 
     657    for (it=0;it<jptfl;it++) 
     658      for (j=0;j<nlon;j++) 
     659        for (k=0;k<nlat;k++) { 
     660          fprintf(fid,"%d %d %d %f %f\n",it,j,k,utotal[j][k][it],vtotal[j][k][it]); 
    632661        } 
    633662                                              
  • altifloat/src/floater_delta.d

    r156 r160  
    317317insert_fct     myforward 
    318318insert_fct arg load_wind 
     319insert_fct arg save_output_uvtot 
Note: See TracChangeset for help on using the changeset viewer.