source: trunk/LMDZ.PLUTO.old/libf/phypluto/calcmilank.F90 @ 3436

Last change on this file since 3436 was 3175, checked in by emillour, 11 months ago

Pluto PCM:
Add the old Pluto LMDZ for reference (required prior step to making
an LMDZ.PLUTO using the same framework as the other physics packages).
TB+EM

File size: 1.8 KB
Line 
1      subroutine calcmilank(tim,obliq,perid,eccen)
2         
3      use planet_h         
4
5      implicit none
6
7#include "comcstfi.h"
8
9!==================================================================
10!     Purpose
11!     -------
12!     calculate the milankovitch parametersdepeding on the
13!     date (tim, in Myr)
14!     Obliquity
15!     Day of perihelion from the vernal equinox
16!     Eccentricity
17
18!     Inputs
19!     ------
20!     tim                   Date (Myr)
21!     
22!     Outputs
23!     -------
24!     obliq                 new value for obliquity
25!     perid                 new value for peri_day
26!     eccen                 new value for eccentricity
27!     
28!     Authors
29!     -------
30!     Tanguy Bertrand (new equations in 2022)
31!     
32!==================================================================
33
34!------------------------------------------------------------------
35!     Arguments
36
37      REAL,intent(in) :: tim
38      REAL,intent(out) :: perid,obliq,eccen
39      real teta,xo,xref,psi,phi
40!------------------------------------------------------------------
41
42      write(*,*) 'TB22 tim  =',tim
43
44      psi=72.8+91.*tim
45      phi=19.5+130.2*tim
46
47      ! update new obliquity
48      obliq=115.5+11.8*sin(phi*pi/180.)
49
50      ! update new eccentricity
51      eccen=0.244+0.022*cos(psi*pi/180.)+0.005*cos(3*psi*pi/180.)
52
53      ! update new solar longitude of perihelion
54      teta=pi/180.*modulo(19.5+130.2*tim-24.*sin(psi*pi/180.),360.)
55      xo=2.*atan(((1-eccen)/(1+eccen))**0.5*tan(teta/2.))
56      xref=xo-eccen*sin(xo)
57      perid=year_day*(1.-xref/(2.*pi))
58
59      if (perid.ge.year_day) then
60         perid = perid - year_day
61      endif
62      write(*,*) 'new ecc, lsp, perid=',eccen,360.-teta*180./pi,perid
63      write(*,*) 'new obliquity=',obliq
64
65      end subroutine calcmilank
66
Note: See TracBrowser for help on using the repository browser.