Changeset 105


Ignore:
Timestamp:
06/11/13 14:28:57 (11 years ago)
Author:
leila_ocean
Message:

weights

File:
1 edited

Legend:

Unmodified
Added
Removed
  • altifloat/src/lapfilu.h

    r103 r105  
    1313      //Example: a weighted mean 
    1414      YS1=c1*fij + c2*fim1j + c3*fip1j + c4*fijm1 + c5*fijp1; 
     15   } 
     16} 
    1517 
    16     } 
    17 } 
    1818 
    1919backward (YREAL xu_d, YREAL fij, YREAL fim1j, YREAL fip1j, YREAL fijm1, YREAL fijp1) 
     
    3838 
    3939} 
     40 
     41 
     42 
     43//LLL START 
     44forward (YREAL xu_d, YREAL fij, YREAL fim1j, YREAL fip1j, YREAL fijm1, YREAL fijp1, YREAL wij, YREAL wim1j, YREAL wip1j, YREAL wijm1, YREAL wijp1) 
     45{ 
     46  
     47  if (Yt==1) { //first step time 
     48    YS1=xu_d; 
     49  } 
     50  else 
     51    { 
     52      /* Boundary condition ?  
     53         if(Yi==0 || Yi==nlon-1 || Yj==0 || Yj==nlat-1) 
     54      */ 
     55 
     56//LLL The filter is actually L = I + kp Dt D, where D is the Laplacian Operator, I is the identity matrix, kp is the diffusion coefficient, Dt is the time step. kp*Dt is included in the weight matrix w among possibly other things to be determined soon 
     57/*      if(Yi==Yj) { 
     58        YS1 = 1.0 + c1*fij*wij + c2*fim1j*wim1j + c3*fip1j*wip1j + c4*fijm1*wijm1 + c5*fijp1*wijp1; 
     59    } 
     60    else 
     61    { 
     62        YS1 = c1*fij*wij + c2*fim1j*wim1j + c3*fip1j*wip1j + c4*fijm1*wijm1 + c5*fijp1*wijp1;    
     63    } 
     64   } 
     65} 
     66 
     67 
     68backward (YREAL xu_d, YREAL fij, YREAL fim1j, YREAL fip1j, YREAL fijm1, YREAL fijp1, YREAL wij, YREAL wim1j, YREAL wip1j, YREAL wijm1, YREAL wijp1) 
     69{ 
     70   
     71  if (Yi==9 && Yj==16) 
     72    { 
     73      printf("YG=%g\n",YG1_u_d(Yi,Yj)); 
     74    } 
     75   
     76if (Yt==1) { //first step time 
     77    YJ1I1=1; 
     78  }  
     79  else 
     80    { 
     81      YJ1I2=c1*wij; 
     82      YJ1I3=c2*wim1j; 
     83      YJ1I4=c3*wip1j; 
     84      YJ1I5=c4*wijm1; 
     85      YJ1I6=c5*wijp1; 
     86      YJ1I7=c1*fij; 
     87      YJ1I8=c2*fim1j; 
     88      YJ1I9=c3*fip1j; 
     89      YJ1I10=c4*fijm1; 
     90      YJ1I11=c5*fijp1; 
     91    } 
     92} 
     93*/ 
     94//LLL end 
Note: See TracChangeset for help on using the changeset viewer.