- Timestamp:
- Sep 12, 2023, 11:41:22 AM (15 months ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/orbit_param_criterion_mod.F90
r3039 r3040 22 22 #endif 23 23 #ifndef CPP_STD 24 use planete_h, only: e_elips, obliquit, timeperi24 use planete_h, only: e_elips, obliquit, lsperi 25 25 #else 26 use planete_mod, only: e_elips, obliquit, timeperi26 use planete_mod, only: e_elips, obliquit, lsperi 27 27 #endif 28 28 use time_evol_mod, only: year_bp_ini, var_obl, var_ecc, var_lsp, convert_years … … 57 57 ! 0. Initializations 58 58 ! ********************************************************************** 59 Year = year_bp_ini + i_myear 60 Lsp = modulo(-timeperi*180./pi,360.)! We convert in degree59 Year = year_bp_ini + i_myear ! We compute the current year 60 Lsp = lsperi*180./pi ! We convert in degree 61 61 62 62 call ini_lask_param_mod ! Allocation of variables -
trunk/LMDZ.COMMON/libf/evolution/recomp_orb_param_mod.F90
r3039 r3040 15 15 #ifndef CPP_STD 16 16 use comconst_mod, only: pi 17 use planete_h, only: e_elips, obliquit, timeperi, periheli, aphelie, p_elips, peri_day, year_day17 use planete_h, only: e_elips, obliquit, lsperi, periheli, aphelie, p_elips, peri_day, year_day 18 18 #else 19 use planete_mod, only: e_elips, obliquit, timeperi, periastr, apoastr, p_elips, peri_day, year_day19 use planete_mod, only: e_elips, obliquit, lsperi, periastr, apoastr, p_elips, peri_day, year_day 20 20 use comcstfi_mod, only: pi 21 21 #endif … … 56 56 #endif 57 57 58 Year = year_bp_ini + i_myear 59 Lsp = modulo(-timeperi*180./pi,360.)! We convert in degree58 Year = year_bp_ini + i_myear ! We compute the current year 59 Lsp = lsperi*180./pi ! We convert in degree 60 60 61 61 write(*,*) 'recomp_orb_param, Old year =', Year - year_iter … … 100 100 enddo 101 101 halfaxe = 227.94 102 timeperi= Lsp*pi/180.102 Lsp = Lsp*pi/180. 103 103 periheli = halfaxe*(1 - e_elips) 104 104 aphelie = halfaxe*(1 + e_elips) … … 107 107 108 108 #ifndef CPP_STD 109 call call_dayperi( timeperi,e_elips,peri_day,year_day)109 call call_dayperi(Lsp,e_elips,peri_day,year_day) 110 110 #endif 111 111 -
trunk/LMDZ.MARS/changelog.txt
r3039 r3040 4186 4186 JBC 4187 4187 4188 4189 4188 == 11/09/2023 == JBC 4190 4189 * New management of time in PEM. While definitions in "run.def"/"launching script" and Laskar's data are in Earth years, the PEM works in Martian years. It follows several changes and the new variable 'convert_years' to make the conversion; … … 4193 4192 * Laskar's data interpolation has been cleaned further; 4194 4193 * Some cleaning and renaming of PEM subroutines in the course of the previous modifications. 4194 4195 == 12/09/2023 == JBC 4196 The variable 'timeperi' (defined in "planete_h.F90" and computed in "iniorbit.F") is renamed into 'lsperi' and thus slightly changed to be coherent to the solar longitude of perihelion in radian. It can now be used out of the box by other subroutines/programs like the PEM. -
trunk/LMDZ.MARS/libf/phymars/call_dayperi.F
r2963 r3040 15 15 c Input: 16 16 c ------ 17 c Lsperi solar longitude (Ls) of perohelion (rad)18 c e_elips Excentricity19 c real year_day ! number of sols per Mars yar17 c Lsperi ! Solar longitude (Ls) of perihelion (rad) 18 c e_elips ! Excentricity 19 c real year_day ! Number of sols per Mars year 20 20 c 21 21 c output 22 22 c ------ 23 c dayperi Martian date at perihelion (sol)23 c dayperi ! Martian date at perihelion (sol) 24 24 25 25 c----------------------------------------------------------------------- … … 27 27 c arguments: 28 28 c ---------- 29 real Lsperi,e_elips,dayperi 30 real year_day ! number of sols per Mars yar 31 29 real Lsperi, e_elips, dayperi 30 real year_day ! Number of sols per Mars year 32 31 33 32 c Local … … 43 42 & ( 2*atan(x1*tan(0.5*Lsperi)) 44 43 & -x2*sin(Lsperi)/(1+e_elips*cos(Lsperi)) ) 45 if (dayperi.lt.0) dayperi=dayperi+year_day44 if (dayperi < 0) dayperi=dayperi+year_day 46 45 return 46 47 47 end -
trunk/LMDZ.MARS/libf/phymars/iniorbit.F
r3037 r3040 2 2 $ (paphelie,pperiheli,pyear_day,pperi_day,pobliq) 3 3 use planete_h, only: aphelie, periheli, year_day, peri_day, 4 & obliquit, unitastr, e_elips, p_elips, 5 & timeperi 4 & obliquit, unitastr, e_elips, p_elips, lsperi 6 5 use comcstfi_h, only: pi 7 6 IMPLICIT NONE … … 67 66 PRINT*,'iniorbit: zx0 ',zx0 68 67 69 timeperi=2.*atan(sqrt((1.+e_elips)/(1.-e_elips))*tan(zx0/2.)) 68 lsperi=-2.*atan(sqrt((1.+e_elips)/(1.-e_elips))*tan(zx0/2.)) 69 lsperi = modulo(lsperi,2.*pi) 70 70 PRINT*,'iniorbit: Perihelion solar long. Ls (deg)=', 71 & modulo(-timeperi*180./pi,360.)71 & lsperi*180./pi 72 72 73 73 END -
trunk/LMDZ.MARS/libf/phymars/orbite.F
r1368 r3040 1 1 SUBROUTINE orbite(pls,pdist_sol,pdecli) 2 USE planete_h, ONLY: e_elips, p_elips, obliquit, timeperi2 USE planete_h, ONLY: e_elips, p_elips, obliquit, lsperi 3 3 USE comcstfi_h, ONLY: pi 4 4 IMPLICIT NONE … … 19 19 c ------- 20 20 c pdist_sol Distance Sun-Planet in UA 21 c pdecli declinaison ( in radians )21 c pdecli Declinaison ( in radians ) 22 22 c 23 23 c======================================================================= … … 26 26 c ---------- 27 27 28 REAL,INTENT(IN) :: pls29 REAL,INTENT(OUT) :: pdist_sol, pdecli28 REAL,INTENT(IN) :: pls 29 REAL,INTENT(OUT) :: pdist_sol, pdecli 30 30 31 31 c----------------------------------------------------------------------- 32 32 33 33 c Distance Sun-Planet 34 35 pdist_sol=p_elips/(1.+e_elips*cos(pls+timeperi)) 34 pdist_sol = p_elips/(1.+e_elips*cos(pls-lsperi)) 36 35 37 36 c Solar declination 38 39 pdecli= asin (sin(pls)*sin(obliquit*pi/180.)) 37 pdecli = asin(sin(pls)*sin(obliquit*pi/180.)) 40 38 41 39 END -
trunk/LMDZ.MARS/libf/phymars/planete_h.F90
r2228 r3040 2 2 IMPLICIT NONE 3 3 4 REAL aphelie ! Aphelion, in Mkm5 REAL periheli ! Perihelion, in Mkm6 REAL year_day ! number of days in the year7 REAL peri_day ! date of perihelion, in days8 REAL obliquit ! obliquity of the planet, in degrees4 REAL aphelie ! Aphelion, in Mkm 5 REAL periheli ! Perihelion, in Mkm 6 REAL year_day ! Number of days in the year 7 REAL peri_day ! Date of perihelion, in days 8 REAL obliquit ! Obliquity of the planet, in degrees 9 9 REAL lmixmin 10 10 REAL emin_turb 11 11 REAL coefvis 12 12 REAL coefir 13 REAL timeperi ! angle of the perihelion,in rad14 REAL e_elips ! orbit eccentricity15 REAL p_elips 16 REAL unitastr ! Astronomical unit AU, in Mkm13 REAL lsperi ! Solar longitude of the perihelion, angle in rad 14 REAL e_elips ! Orbit eccentricity 15 REAL p_elips ! Ellipse semi-latus rectum 16 REAL unitastr ! Astronomical unit AU, in Mkm 17 17 18 18 END MODULE planete_h -
trunk/LMDZ.MARS/libf/phymars/solarlong.F
r1226 r3040 84 84 zteta=2.*atan(sqrt((1.+e_elips)/(1.-e_elips))*tan(zx0/2.)) 85 85 86 psollong=zteta -timeperi86 psollong=zteta+lsperi 87 87 88 88 IF(psollong.LT.0.) psollong=psollong+2.*pi
Note: See TracChangeset
for help on using the changeset viewer.