Changeset 3026


Ignore:
Timestamp:
Aug 9, 2023, 11:56:36 AM (9 months ago)
Author:
jbclement
Message:

Mars PCM/PEM 1D:
Small fixes to be able to run the Mars PCM 1D without "water" + Improvements/addition of scripts in deftank/pem to run the PEM 1D model according to Laskar orbital parameters.
JBC

Location:
trunk
Files:
1 added
9 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/evolution/orbit_param_criterion_mod.F90

    r3022 r3026  
    7878
    7979          open(73,file='ob_ex_lsp.asc')
    80           do ilask=1,nlask
    81             read(73,*) yearlask(ilask),oblask(ilask),      &
    82              exlask(ilask),lsplask(ilask)
    83             yearlask(ilask)=yearlask(ilask)*1000
    84 
    85             if(yearlask(ilask).GT.Year) then
    86                 last_ilask=ilask+1
    87             endif
    88           end do
     80          do ilask = 1,nlask
     81            read(73,*) yearlask(ilask), oblask(ilask), exlask(ilask), lsplask(ilask)
     82            yearlask(ilask) = yearlask(ilask)*1000.
     83            if (yearlask(ilask) > Year) last_ilask = ilask + 1
     84          enddo
    8985          close(73)
    9086
  • trunk/LMDZ.MARS/changelog.txt

    r3025 r3026  
    41664166Fixed a bug in newstart call to lect_start_archive; missing perenial_co2ice
    41674167argument. Turned lect_start_archive into a module so this cant't happen again.
     4168
     4169== 09/08/2023 == JBC
     4170Small fixes to be able to run the Mars PCM 1D without "water" + Improvements/addition of scripts in deftank/pem to run the PEM 1D model according to Laskar orbital parameters.
  • trunk/LMDZ.MARS/deftank/field_def_physics_mars.xml

    r2992 r3026  
    334334                   unit="W.m-2" />
    335335            <field id="tauTES"
     336                   long_name="Water ice cloud opacity at TES abs 825 cm-1"
     337                   unit="" />
     338            <field id="tauTESap"
    336339                   long_name="Water ice cloud opacity at TES abs 825 cm-1"
    337340                   unit="" />
     
    653656                   long_name="count_micro after microphysics"
    654657                   unit="integer" />
    655            
     658
     659            <field id="zdqcloud_ice"
     660                   long_name="cloud ice"
     661                   unit="kg.m-2.s-1" />
     662            <field id="zdqcloud_vap"
     663                   long_name="cloud vap"
     664                   unit="kg.m-2.s-1" />
     665            <field id="zdqcloud"
     666                   long_name="cloud"
     667                   unit="kg.m-2.s-1" />
     668
    656669            <!-- CO2 condensation parametrization -->
    657670            <field id="co2condens_pdtc"
  • trunk/LMDZ.MARS/deftank/file_def_physics_mars.xml

    r2964 r3026  
    1212              time_units="days"
    1313              type="one_file"
    14               enabled=".true.">
     14              enabled=".false.">
    1515                   
    1616            <!-- VARS 0D -->
     
    3737                <field field_ref="u" />
    3838                <field field_ref="v" />
     39                <field field_ref="dustq" />
     40                <field field_ref="dustN" />
     41                <field field_ref="h2o_vap" />
     42                <field field_ref="h2o_ice" />
    3943            </field_group>
    4044
     
    8387              type="one_file"
    8488              time_units="days"
    85               enabled=".false.">
     89              enabled=".true.">
    8690                   
    8791            <!-- VARS 0D -->
     
    112116                <field field_ref="h2o_layer1" />
    113117                <field field_ref="co2_layer1" />
     118                <field field_ref="fluxsurf_dn_sw" name="ISR" />
     119                <field field_ref="fluxtop_lw" name="OLR" />
    114120            </field_group>
    115121
  • trunk/LMDZ.MARS/deftank/pem/modify_startfi_orbit.sh

    r3025 r3026  
    44name_file="startfi.nc"
    55
    6 new_obl=30.
    7 new_exc=0.
    8 new_Lsp=250.
    9 
    10 year_day=669.
    11 halfaxe=227.94
     6new_obl=30.0286
     7new_exc=0.08212066
     8new_Lsp=347.443947402
    129
    1310
    1411# Calculate modified values
     12year_day=669.
     13halfaxe=227.94
    1514pi=$(echo "4*a(1)" | bc -l)
    16 arg=$(echo "0.5*2.*$pi*$new_Lsp/360." | bc -l)
    17 zx0=$(echo "-2.*-2.0*a(s($arg)/c($arg)*sqrt((1. - $new_exc)/(1. + $new_exc)))" | bc -l)
    18 if [ $(echo "$zx0 < 0" | bc -l) -eq 1 ]; then
     15degrad=$(echo "360./(2.*$pi)" | bc -l)
     16tan=$(echo "s(0.5*$new_Lsp/$degrad)/c(0.5*$new_Lsp/$degrad)" | bc -l)
     17zx0=$(echo "-2.*a($tan*sqrt((1.-$new_exc)/(1.+$new_exc)))" | bc -l)
     18if [ $(echo "$zx0 <= 0" | bc -l) -eq 1 ]; then
    1919  zx0=$(echo "$zx0 + 2.*$pi" | bc -l)
    2020fi
     
    2424# controle(15) = periheli ! min. Sun-Mars distance (Mkm)  ̃206.66
    2525# controle(16) = aphelie  ! max. SUn-Mars distance (Mkm)  ̃249.22
    26 # controle(16) = peri_day ! date of perihelion (sols since N. spring)
     26# controle(17) = peri_day ! date of perihelion (sols since N. spring)
    2727# controle(18) = obliquit ! Obliquity of the planet (deg)  ̃23.98
    2828ncap2 -O -s "controle(17)=$new_obl" \
     
    3434# Rename the temporary file back to the original filename
    3535mv $name_file.temp $name_file
     36
     37echo New obliquit = $new_obl
     38echo New periheli = $(echo "$halfaxe*(1-$new_exc)" | bc -l)
     39echo New aphelie = $(echo "$halfaxe*(1+$new_exc)" | bc -l)
     40echo New peri_day = $solp
  • trunk/LMDZ.MARS/libf/phymars/dyn1d/read_profile_mod.F90

    r2991 r3026  
    6161!--------
    6262  integer :: &
    63      iq,             & ! loop over nb_tracer
    64      ilayer,         & ! loop over nb_layer
    65      ierr,           & ! open file iostat
    66      indice_h2o_vap, & ! indice of h2o_vap tracer
    67      indice_h2o_ice, & ! indice of h2o_ice tracer
    68      indice_hdo_vap, & ! indice of hdo_vap tracer
    69      indice_hdo_ice    ! indice of hdo_ice tracer
     63     iq,                 & ! loop over nb_tracer
     64     ilayer,             & ! loop over nb_layer
     65     ierr,               & ! open file iostat
     66     indice_h2o_vap = 0, & ! indice of h2o_vap tracer
     67     indice_h2o_ice = 0, & ! indice of h2o_ice tracer
     68     indice_hdo_vap = 0, & ! indice of hdo_vap tracer
     69     indice_hdo_ice = 0    ! indice of hdo_ice tracer
    7070
    7171  character(len=80), dimension(nb_tracer) :: &
     
    148148!    the main isotopologue profile is already read before minors isotopologues
    149149!---------------------------------------------------------------------------------------------------------------------!
    150   if (hdo_vap.eqv..true. .and. indice_h2o_vap.ne.0) then
     150  if (hdo_vap .and. indice_h2o_vap /= 0) then
    151151    do ilayer = 1, nb_layer
    152152      q(ilayer, indice_hdo_vap) = q(ilayer, indice_h2o_vap)*2*155.76e-6*5
     
    154154  end if
    155155
    156   if (hdo_ice.eqv..true. .and. indice_h2o_ice.ne.0) then
     156  if (hdo_ice .and. indice_h2o_ice /= 0) then
    157157    qsurf(indice_hdo_ice) = qsurf(indice_h2o_ice) * 2*155.76e-6*5
    158158    do ilayer = 1, nb_layer
  • trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F

    r3021 r3026  
    815815      ! Adding an option to force atmospheric water values JN
    816816      atm_wat_profile = -1. ! Default: free atm wat profile
     817      if (water) then
    817818      print *,'Force atmospheric water vapor profile?'
    818819      call getin("atm_wat_profile",atm_wat_profile)
     
    830831        stop
    831832      endif
     833      endif
    832834
    833835! Check if the atmospheric water profile relaxation is specified
     
    835837      ! Adding an option to relax atmospheric water values JBC
    836838      atm_wat_tau = -1. ! Default: no time relaxation
     839      if (water) then
    837840      print*, 'Relax atmospheric water vapor profile?'
    838841      call getin("atm_wat_tau",atm_wat_tau)
     
    850853       stop
    851854        endif
     855      endif
    852856      endif
    853857
     
    908912!       Added "atm_wat_profile" flag (JN + JBC)
    909913!       ---------------------------------------
     914      if (water) then
    910915        call watersat(nlayer,temp,play,zqsat)
    911916        if (0. <= atm_wat_profile .and. atm_wat_profile <= 1.) then
     
    922927          endif
    923928        endif
     929      endif
    924930
    925931!      write(*,*) "testphys1d avant q", q(1,:)
  • trunk/LMDZ.MARS/libf/phymars/initracer.F

    r2823 r3026  
    463463        write(*,*) "initracer: found only ",count," tracers"
    464464        write(*,*) "               expected ",nq
    465         do iq=1,count
    466           write(*,*)'      ',iq,' ',trim(noms(iq))
    467         enddo
    468465        call abort_physic("initracer","tracer mismatch",1)
    469466      else
  • trunk/LMDZ.MARS/libf/phymars/physiq_mod.F

    r3016 r3026  
    26332633c        -------------------------------------------------------------------
    26342634
    2635 
     2635       if (water) then
    26362636         do ig=1,ngrid
    2637            if(mu0(ig).le.0.01) then 
     2637           if(mu0(ig).le.0.01) then
    26382638            fluxsurf_dir_dn_sw(ig) = 0.
    2639            else 
     2639           else
    26402640            fluxsurf_dir_dn_sw(ig) = flux_1AU/dist_sol/dist_sol*mu0(ig)*
    26412641     &                    exp(-(tau(ig,iaer_dust_doubleq)+
     
    26432643           endif
    26442644         enddo
     2645       endif
    26452646
    26462647           ! Density-scaled opacities
Note: See TracChangeset for help on using the changeset viewer.