source: tags/version-1.1/trunk/src/ta_traqsr.h @ 24

Last change on this file since 24 was 1, checked in by jbrlod, 13 years ago

Import initial

  • Property svn:eol-style set to native
File size: 1.9 KB
Line 
1
2/***************************************************************************
3                 module classe ta_traqsr.h  -  description
4***************************************************************************/
5// Mohamed Berrada
6// locean-ipsl.upmc, Paris, Mars 25, 2009
7//===========================================================================
8//                          methode forward
9forward (YREAL x1, YREAL x2)
10{ /*    1       from    sbcgyre_qsr_qns         1  i    j         t
11        2       from    ta_sa_trasbc            1  i    j         t*/
12  /* verification calcul
13     A 1.903724252353736e-11
14     R 7.053989989415242e-08*/
15  if(Yt==TU)
16    YS1=0.;
17  else{
18    double zc0, zta;
19    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk>=nksr){
20      YS1=0.;
21      if(Yk==0) YS1 = x2;
22    }
23    else{
24      zc0 = x1/e3t_0[Yk]; //x1 / fse3t(ji,jj,jk)
25      //! qsr trend
26      zta = zc0*(gdsr[Yk]*tmask(Yi,Yj,Yk) - gdsr[Yk+1]*tmask(Yi,Yj,Yk+1));
27      //! add qsr trend to the temperature trend
28      if(Yk==0) YS1 = x2+ zta;
29      else YS1=zta;
30    }
31  }
32  //
33}
34
35//===========================================================================
36//                         methode  backward
37
38backward (YREAL x1, YREAL x2)
39{
40  YJ1I1=0.;     YJ1I2=0.; 
41 
42  if(Yt!=TU){
43    double zc0, zta,dzc0_x1,dzta_x1;
44    if(Yi==0 || Yi==NX-1 || Yj==0 || Yj==NY-1 || Yk>=nksr){
45      YJ1I1=0.;     YJ1I2=0.; 
46      if(Yk==0) YJ1I2=1.;//YS1 = x2;
47    }
48    else{
49      zc0 = x1/e3t_0[Yk]; //x1 / fse3t(ji,jj,jk)
50      dzc0_x1 = 1./e3t_0[Yk];
51      //! qsr trend
52      zta = zc0*(gdsr[Yk]*tmask(Yi,Yj,Yk) - gdsr[Yk+1]*tmask(Yi,Yj,Yk+1));
53      dzta_x1 = dzc0_x1*(gdsr[Yk]*tmask(Yi,Yj,Yk) - gdsr[Yk+1]*tmask(Yi,Yj,Yk+1));
54      //! add qsr trend to the temperature trend
55      if(Yk==0){
56        YJ1I1=dzta_x1;
57        YJ1I2=1.;//YS1 = x2+ zta;
58      }
59      else YJ1I1=dzta_x1;
60    }
61  }
62  //
63 
64}
65
66//===========================================================================
67//***********************  FIN DU MODULE ta_traqsr   ************************
68
Note: See TracBrowser for help on using the repository browser.