Changeset 3549


Ignore:
Timestamp:
Dec 12, 2024, 2:10:37 PM (10 days ago)
Author:
jbclement
Message:

Mars PCM:
In the 1D model, merging under the 'paleomars' flag of the modifications for orbital parameters taken from "callphys.def".
JBC

Location:
trunk/LMDZ.MARS
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/changelog.txt

    r3536 r3549  
    47424742== 06/12/2024 == JBC
    47434743Correction of the initial time for the calendar in the "diagsoil.nc" file which caused an abnormal closing of ncview window when displaying variables.
     4744
     4745== 12/12/2024 == JBC
     4746In the 1D model, merging under the 'paleomars' flag of the modifications for orbital parameters taken from "callphys.def".
  • trunk/LMDZ.MARS/libf/phymars/dyn1d/init_testphys1d_mod.F90

    r3385 r3549  
    335335! ------------------
    336336tauvis = 0.2 ! Default value for tauvis (dust opacity)
    337 write(*,'("Reference dust opacity at ",f4.0," Pa?")')odpref
     337write(*,'("Reference dust opacity at ",f4.0," Pa?")') odpref
    338338call getin("tauvis",tauvis)
    339 write(*,*) " tauvis = ",tauvis
     339write(*,*) " tauvis =",tauvis
    340340
    341341! Orbital parameters
     
    344344    paleomars = .false. ! Default: no water ice reservoir
    345345    call getin("paleomars",paleomars)
     346    write(*,*) "paleomars=", paleomars
    346347    if (paleomars) then
    347         write(*,*) "paleomars=", paleomars
    348         write(*,*) "Orbital parameters from callphys.def"
    349         write(*,*) "Enter eccentricity & Lsperi"
    350         write(*,*) 'Martian eccentricity (0<e<1)?'
    351         call getin('eccentric ',eccentric)
    352         write(*,*)"eccentric =",eccentric
    353         write(*,*) 'Solar longitude of perihelion (0<Ls<360)?'
    354         call getin('Lsperi',Lsperi )
    355         write(*,*)"Lsperi=",Lsperi
    356         Lsperi = Lsperi*pi/180.0 ! Put it in rad for peri_day
    357         periheli = halfaxe*(1 - eccentric)
    358         aphelie = halfaxe*(1 + eccentric)
    359         call call_dayperi(Lsperi,eccentric,peri_day,year_day)
    360         write(*,*) "Corresponding orbital params for GCM"
    361         write(*,*) " periheli = ",periheli
    362         write(*,*) " aphelie = ",aphelie
    363         write(*,*) "date of perihelion (sol)",peri_day
    364     else
    365         write(*,*) "paleomars=", paleomars
    366         write(*,*) "Default present-day orbital parameters"
    367         write(*,*) "Unless specified otherwise"
    368         write(*,*)'Min. distance Sun-Mars (Mkm)?'
    369         call getin("periheli",periheli)
    370         write(*,*) " periheli = ",periheli
    371 
    372         write(*,*)'Max. distance Sun-Mars (Mkm)?'
    373         call getin("aphelie",aphelie)
    374         write(*,*) " aphelie = ",aphelie
    375 
    376         write(*,*)'Day of perihelion?'
    377         call getin("periday",peri_day)
    378         write(*,*) " periday = ",peri_day
     348        write(*,*) "Orbital parameters taken from callphys.def"
    379349
    380350        write(*,*)'Obliquity?'
    381351        call getin("obliquit",obliquit)
    382         write(*,*) " obliquit = ",obliquit
     352        write(*,*) " obliquit =",obliquit
     353
     354        write(*,*) 'Eccentricity (0<e<1)?'
     355        call getin('eccentric',eccentric)
     356        write(*,*)"eccentric =",eccentric
     357        if (eccentric < 0. .or. eccentric > 1.) then
     358            write(*,*) 'Value for ''eccentric'' is not between 0 and 1.'
     359            error stop 'Please, specify a correct value!'
     360        endif
     361
     362        call getin('Lsperi',Lsperi)
     363        write(*,*) 'Solar longitude of perihelion (0<Ls<360)?'
     364        write(*,*)"Lsperi =",Lsperi
     365        if (eccentric < 0. .or. eccentric > 360.) then
     366            write(*,*) 'Value for ''Lsperi'' is not between 0 and 360.'
     367            error stop 'Please, specify a correct value!'
     368        endif
     369       
     370        Lsperi = Lsperi*pi/180. ! Convert to rad for peri_day
     371        periheli = halfaxe*(1. - eccentric)
     372        aphelie = halfaxe*(1. + eccentric)
     373        call call_dayperi(Lsperi,eccentric,peri_day,year_day)
     374        write(*,*) "Corresponding orbital params for PCM"
     375        write(*,*) "   periheli =",periheli
     376        write(*,*) "   aphelie  =",aphelie
     377        write(*,*) "   peri_day =",peri_day
     378    else
     379        write(*,*) "Default present-day orbital parameters"
    383380     endif
     381else
     382    write(*,*) "Orbital parameters taken from startfi.nc"
    384383endif !(.not. therestartfi)
    385384
     
    387386! ------------------
    388387latitude = 0. ! default value for latitude
    389 write(*,*)'latitude (in degrees)?'
     388write(*,*) 'Latitude (in degrees)?'
    390389call getin("latitude",latitude(1))
    391 write(*,*) " latitude = ",latitude
     390write(*,*) " latitude =",latitude
    392391latitude = latitude*pi/180.
    393392longitude = 0.
Note: See TracChangeset for help on using the changeset viewer.