[1] | 1 | |
---|
| 2 | /*************************************************************************** |
---|
| 3 | module classe sbcgyre_emp1.h - description |
---|
| 4 | ***************************************************************************/ |
---|
| 5 | // Mohamed Berrada |
---|
| 6 | // locean-ipsl.upmc, Paris, Mars 18, 2009 |
---|
| 7 | // (jul) Evaporation minus Precipitation |
---|
| 8 | //=========================================================================== |
---|
| 9 | // methode forward |
---|
| 10 | forward () |
---|
| 11 | { /* |
---|
| 12 | norm(emp1Y-emp1F)=9.634516907597773e-20 |
---|
| 13 | norm(emp1Y-emp1F)/norm(empF)=1.944745312977350e-16 |
---|
| 14 | */ |
---|
| 15 | if(Yt==TU) |
---|
| 16 | YS1=0.; |
---|
| 17 | else{ |
---|
| 18 | // ! current day (in hours) since january the 1st of the current year |
---|
| 19 | double ztime = double(Yt-TU) * rdt / (rmmss * rhhmm) // ! total incrementation (in hours) |
---|
| 20 | - (nyear - 1) * rjjhh * raajj; // ! minus years since beginning of experiment (in hours) |
---|
| 21 | |
---|
| 22 | double ztimemax1 = ((5.*30.)+21.)* 24.;// ! 21th june at 24h in hours |
---|
| 23 | double ztimemin1 = ztimemax1 + rjjhh * raajj / 2.;// ! 21th december in hours |
---|
| 24 | //double ztimemax2 = ((6.*30.)+21.)* 24.;// ! 21th july at 24h in hours |
---|
| 25 | //double ztimemin2 = ztimemax2 - rjjhh * raajj / 2;// ! 21th january in hours |
---|
| 26 | // ! ! NB: rjjhh * raajj / 4 = one seasonal cycle in hours |
---|
| 27 | |
---|
| 28 | // ! amplitudes |
---|
| 29 | double zemp_S = 0.7;// ! intensity of COS in the South |
---|
| 30 | double zemp_N = 0.8;// ! intensity of COS in the North |
---|
| 31 | double zemp_sais = 0.1;// |
---|
| 32 | |
---|
| 33 | // ! 1/2 period between 21th June and 21th December and between 21th July and 21th January |
---|
| 34 | double zcos_sais1 = cos( (ztime - ztimemax1) / (ztimemin1 - ztimemax1) * rpi ); |
---|
| 35 | //double zcos_sais2 = cos( (ztime - ztimemax2) / (ztimemax2 - ztimemin2) * rpi ); |
---|
| 36 | |
---|
| 37 | double zconv = 3.16e-5; //! convertion factor: 1 m/yr => 3.16e-5 mm/s |
---|
| 38 | |
---|
| 39 | if( gphit(Yi,Yj) >= 14.845 && 37.2 >= gphit(Yi,Yj)) // ! zero at 37.8 deg, max at 24.6 deg |
---|
| 40 | YS1 = zemp_S*zconv*sin(rpi/2.*(gphit(Yi,Yj)-37.2)/(24.6-37.2))*(1.-zemp_sais/zemp_S*zcos_sais1); |
---|
| 41 | else |
---|
| 42 | YS1 = -zemp_N*zconv*sin(rpi/2.*(gphit(Yi,Yj)-37.2)/(46.8-37.2))*(1.-zemp_sais/zemp_N*zcos_sais1); |
---|
| 43 | } |
---|
| 44 | |
---|
| 45 | // |
---|
| 46 | } |
---|
| 47 | |
---|
| 48 | //=========================================================================== |
---|
| 49 | // methode backward |
---|
| 50 | |
---|
| 51 | backward () |
---|
| 52 | { |
---|
| 53 | |
---|
| 54 | } |
---|
| 55 | |
---|
| 56 | //=========================================================================== |
---|
| 57 | //********************* FIN DU MODULE sbc_gyre_emp1 ********************** |
---|
| 58 | |
---|