/*************************************************************************** module classe ztuv_lfil.h - description ***************************************************************************/ // Mohamed Berrada // locean-ipsl.upmc, Paris, July 20, 2011 //=========================================================================== // methode forward forward (YREAL x1,YREAL x2,YREAL x3) { /* 1 from dta_lfil 1 i+1 j k t-1 2 from dta_lfil 1 i j k t-1 3 from dta_lfil 1 i j+1 k t-1 */ if(Yt==1){ YS1=0; YS2=0; } else{ if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk==NZ-1){ YS1=0.; YS2=0; } else{ double zabe1 = fsaht_fil * umask(Yi,Yj,Yk) * ze1ur(Yi,Yj); double zabe2 = fsaht_fil * vmask(Yi,Yj,Yk) * ze2vr(Yi,Yj); YS1= zabe1 * ( x1 - x2); YS2= zabe2 * ( x3 - x2); } } // } //=========================================================================== // methode backward backward (YREAL x1,YREAL x2,YREAL x3) { YJ1I1=0.; YJ1I2=0.; YJ1I3=0.; YJ2I1=0.; YJ2I2=0.; YJ2I3=0.; if(Yt==1){ YJ1I1=0.; YJ1I2=0.; YJ1I3=0.; YJ2I1=0.; YJ2I2=0.; YJ2I3=0.; } else{ if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk==NZ-1){ YJ1I1=0.; YJ1I2=0.; YJ1I3=0.; YJ2I1=0.; YJ2I2=0.; YJ2I3=0.; } else{ double zabe1 = fsaht_fil * umask(Yi,Yj,Yk) * ze1ur(Yi,Yj); double zabe2 = fsaht_fil * vmask(Yi,Yj,Yk) * ze2vr(Yi,Yj); YJ1I1=zabe1; YJ1I2=-zabe1; YJ1I3=0.; YJ2I1=0.; YJ2I2=-zabe2; YJ2I3=zabe2; } } // }