Changeset 3026
- Timestamp:
- Aug 9, 2023, 11:56:36 AM (17 months ago)
- 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 78 78 79 79 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 89 85 close(73) 90 86 -
trunk/LMDZ.MARS/changelog.txt
r3025 r3026 4166 4166 Fixed a bug in newstart call to lect_start_archive; missing perenial_co2ice 4167 4167 argument. Turned lect_start_archive into a module so this cant't happen again. 4168 4169 == 09/08/2023 == JBC 4170 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. -
trunk/LMDZ.MARS/deftank/field_def_physics_mars.xml
r2992 r3026 334 334 unit="W.m-2" /> 335 335 <field id="tauTES" 336 long_name="Water ice cloud opacity at TES abs 825 cm-1" 337 unit="" /> 338 <field id="tauTESap" 336 339 long_name="Water ice cloud opacity at TES abs 825 cm-1" 337 340 unit="" /> … … 653 656 long_name="count_micro after microphysics" 654 657 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 656 669 <!-- CO2 condensation parametrization --> 657 670 <field id="co2condens_pdtc" -
trunk/LMDZ.MARS/deftank/file_def_physics_mars.xml
r2964 r3026 12 12 time_units="days" 13 13 type="one_file" 14 enabled=". true.">14 enabled=".false."> 15 15 16 16 <!-- VARS 0D --> … … 37 37 <field field_ref="u" /> 38 38 <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" /> 39 43 </field_group> 40 44 … … 83 87 type="one_file" 84 88 time_units="days" 85 enabled=". false.">89 enabled=".true."> 86 90 87 91 <!-- VARS 0D --> … … 112 116 <field field_ref="h2o_layer1" /> 113 117 <field field_ref="co2_layer1" /> 118 <field field_ref="fluxsurf_dn_sw" name="ISR" /> 119 <field field_ref="fluxtop_lw" name="OLR" /> 114 120 </field_group> 115 121 -
trunk/LMDZ.MARS/deftank/pem/modify_startfi_orbit.sh
r3025 r3026 4 4 name_file="startfi.nc" 5 5 6 new_obl=30. 7 new_exc=0. 8 new_Lsp=250. 9 10 year_day=669. 11 halfaxe=227.94 6 new_obl=30.0286 7 new_exc=0.08212066 8 new_Lsp=347.443947402 12 9 13 10 14 11 # Calculate modified values 12 year_day=669. 13 halfaxe=227.94 15 14 pi=$(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 15 degrad=$(echo "360./(2.*$pi)" | bc -l) 16 tan=$(echo "s(0.5*$new_Lsp/$degrad)/c(0.5*$new_Lsp/$degrad)" | bc -l) 17 zx0=$(echo "-2.*a($tan*sqrt((1.-$new_exc)/(1.+$new_exc)))" | bc -l) 18 if [ $(echo "$zx0 <= 0" | bc -l) -eq 1 ]; then 19 19 zx0=$(echo "$zx0 + 2.*$pi" | bc -l) 20 20 fi … … 24 24 # controle(15) = periheli ! min. Sun-Mars distance (Mkm) ̃206.66 25 25 # controle(16) = aphelie ! max. SUn-Mars distance (Mkm) ̃249.22 26 # controle(1 6) = peri_day ! date of perihelion (sols since N. spring)26 # controle(17) = peri_day ! date of perihelion (sols since N. spring) 27 27 # controle(18) = obliquit ! Obliquity of the planet (deg) ̃23.98 28 28 ncap2 -O -s "controle(17)=$new_obl" \ … … 34 34 # Rename the temporary file back to the original filename 35 35 mv $name_file.temp $name_file 36 37 echo New obliquit = $new_obl 38 echo New periheli = $(echo "$halfaxe*(1-$new_exc)" | bc -l) 39 echo New aphelie = $(echo "$halfaxe*(1+$new_exc)" | bc -l) 40 echo New peri_day = $solp -
trunk/LMDZ.MARS/libf/phymars/dyn1d/read_profile_mod.F90
r2991 r3026 61 61 !-------- 62 62 integer :: & 63 iq, & ! loop over nb_tracer64 ilayer, & ! loop over nb_layer65 ierr, & ! open file iostat66 indice_h2o_vap , & ! indice of h2o_vap tracer67 indice_h2o_ice , & ! indice of h2o_ice tracer68 indice_hdo_vap , & ! indice of hdo_vap tracer69 indice_hdo_ice ! indice of hdo_ice tracer63 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 70 70 71 71 character(len=80), dimension(nb_tracer) :: & … … 148 148 ! the main isotopologue profile is already read before minors isotopologues 149 149 !---------------------------------------------------------------------------------------------------------------------! 150 if (hdo_vap .eqv..true. .and. indice_h2o_vap.ne.0) then150 if (hdo_vap .and. indice_h2o_vap /= 0) then 151 151 do ilayer = 1, nb_layer 152 152 q(ilayer, indice_hdo_vap) = q(ilayer, indice_h2o_vap)*2*155.76e-6*5 … … 154 154 end if 155 155 156 if (hdo_ice .eqv..true. .and. indice_h2o_ice.ne.0) then156 if (hdo_ice .and. indice_h2o_ice /= 0) then 157 157 qsurf(indice_hdo_ice) = qsurf(indice_h2o_ice) * 2*155.76e-6*5 158 158 do ilayer = 1, nb_layer -
trunk/LMDZ.MARS/libf/phymars/dyn1d/testphys1d.F
r3021 r3026 815 815 ! Adding an option to force atmospheric water values JN 816 816 atm_wat_profile = -1. ! Default: free atm wat profile 817 if (water) then 817 818 print *,'Force atmospheric water vapor profile?' 818 819 call getin("atm_wat_profile",atm_wat_profile) … … 830 831 stop 831 832 endif 833 endif 832 834 833 835 ! Check if the atmospheric water profile relaxation is specified … … 835 837 ! Adding an option to relax atmospheric water values JBC 836 838 atm_wat_tau = -1. ! Default: no time relaxation 839 if (water) then 837 840 print*, 'Relax atmospheric water vapor profile?' 838 841 call getin("atm_wat_tau",atm_wat_tau) … … 850 853 stop 851 854 endif 855 endif 852 856 endif 853 857 … … 908 912 ! Added "atm_wat_profile" flag (JN + JBC) 909 913 ! --------------------------------------- 914 if (water) then 910 915 call watersat(nlayer,temp,play,zqsat) 911 916 if (0. <= atm_wat_profile .and. atm_wat_profile <= 1.) then … … 922 927 endif 923 928 endif 929 endif 924 930 925 931 ! write(*,*) "testphys1d avant q", q(1,:) -
trunk/LMDZ.MARS/libf/phymars/initracer.F
r2823 r3026 463 463 write(*,*) "initracer: found only ",count," tracers" 464 464 write(*,*) " expected ",nq 465 do iq=1,count466 write(*,*)' ',iq,' ',trim(noms(iq))467 enddo468 465 call abort_physic("initracer","tracer mismatch",1) 469 466 else -
trunk/LMDZ.MARS/libf/phymars/physiq_mod.F
r3016 r3026 2633 2633 c ------------------------------------------------------------------- 2634 2634 2635 2635 if (water) then 2636 2636 do ig=1,ngrid 2637 if(mu0(ig).le.0.01) then 2637 if(mu0(ig).le.0.01) then 2638 2638 fluxsurf_dir_dn_sw(ig) = 0. 2639 else 2639 else 2640 2640 fluxsurf_dir_dn_sw(ig) = flux_1AU/dist_sol/dist_sol*mu0(ig)* 2641 2641 & exp(-(tau(ig,iaer_dust_doubleq)+ … … 2643 2643 endif 2644 2644 enddo 2645 endif 2645 2646 2646 2647 ! Density-scaled opacities
Note: See TracChangeset
for help on using the changeset viewer.