Changeset 1651


Ignore:
Timestamp:
Jan 30, 2017, 11:52:09 AM (8 years ago)
Author:
jaudouard
Message:

Modification of co2 clouds microtimestep and addition of a meteoritic flux of dust

Location:
trunk/LMDZ.MARS
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/README

    r1649 r1651  
    23742374-callphys.def.co2clouds was added in deftank. It contains the necessary flags and constant for including co2clouds
    23752375-traceur.def.co2clouds was added in deftank. It supplies the necessary tracers for running the co2 clouds scheme
     2376
     2377== 30/01/2017 == JA
     2378-Modification of CO2 clouds microtimestep : now is set by imicro in callphys.def together with the water ice clouds microtimestep
     2379-Addition of a meteoritic flux of dust is now possible:
     2380          meteoriticflux_mod.F90 was added, it contains 3 variables that are provided in callphys.def (default values = no flux): meteo_flux_mass, meteo_flux_number and meteo_alt (in km)
     2381          meteo_flux_mass and meteo_flux_number are added to the dust tracers at the z-level corresponding to meteo_alt at every timestep inside co2cloud.F
     2382          conf_phys.F was modified to perform the initialization of the meteoritic flux with the callphys.def values (default values = no flux)
     2383          callphys.def.co2clouds in deftank has been accordingly modified
     2384         
     2385
     2386
     2387
     2388         
  • trunk/LMDZ.MARS/deftank/callphys.def.co2clouds

    r1649 r1651  
    127127naerkind = 1
    128128
     129imicro=30
    129130#include co2 clouds scheme?
    130131co2clouds=.true.
     
    164165## be used to compensate for low 15 um cooling)
    165166euveff = 0.21       
     167#meteoritic flux of dust
     168meteo_flux_mass=2.21938e-14
     169meteo_flux_number=  2.11935e+09
     170meteo_alt= 90
    166171
    167172
  • trunk/LMDZ.MARS/libf/phymars/co2cloud.F

    r1649 r1651  
    1212      use tracer_mod, only: nqmx, igcm_co2, igcm_co2_ice,
    1313     &     igcm_dust_mass, igcm_dust_number,
    14      &     igcm_dust_mass, igcm_dust_number,
    1514     &     igcm_ccnco2_mass, igcm_ccnco2_number,
    1615     &     rho_dust, nuiceco2_sed, nuiceco2_ref,
    1716     &     rho_ice_co2,r3n_q
     17      USE meteoriticflux_mod, ONLY:meteo_flux_mass,meteo_flux_number
     18     &     ,meteo_alt
     19
    1820      IMPLICIT NONE
    1921
     
    126128      real masse (ngrid,nlay) ! Layer mass (kg.m-2)
    127129   
    128 
     130      double precision diff,diff0
     131      integer meteo_lvl
    129132      real tempo_traceur_t(ngrid,nlay)
    130133      real tempo_traceurs(ngrid,nlay,nq)
     
    152155#endif
    153156        call getin("imicro",imicro)
    154              imicro=ptimestep/50.
    155 
    156157        write(*,*)"imicro = ",imicro
    157158       
     
    159160        write(*,*)"Physical timestep is",ptimestep
    160161        write(*,*)"CO2 Microphysics timestep is",microtimestep
    161 
     162     
     163             
     164        write(*,*) "Warning ! Meteoritic flux of dust is turned on"
     165        write(*,*) "Dust mass = ",meteo_flux_mass
     166        write(*,*) "Dust number = ",meteo_flux_number
     167        write(*,*) "Are added at the z-level (km)",meteo_alt
     168        write(*,*) "Every timestep in co2cloud.F"
     169     
    162170        firstcall=.false.
    163171      ENDIF                     ! of IF (firstcall)
    164172   
    165173c-----Initialization
     174
     175c add meteoritic flux of dust
     176    !convert meteo_alt (in km) to z-level
     177        !pzlay altitudes of the layers
     178   
     179      do ig=1, ngrid
     180         diff0=1000
     181         meteo_lvl=1
     182         do  l=1,nlay
     183            diff=pzlay(ig,l)/1000-meteo_alt
     184            if (abs(diff) .lt. diff0) then
     185               diff0=abs(diff)
     186               meteo_lvl=l
     187            endif
     188         enddo
     189c         write(*,*) "meteo_lvl=",meteo_lvl
     190         pq(ig,meteo_lvl,igcm_dust_mass)=pq(ig,meteo_lvl,igcm_dust_mass)
     191     &        +meteo_flux_mass
     192         pq(ig,meteo_lvl,igcm_dust_number)=
     193     &        pq(ig,meteo_lvl,igcm_dust_number)+meteo_flux_number
     194      enddo
     195
     196       call WRITEDIAGFI(ngrid,"pzlay","altitude","km",3,
     197     &        pzlay)
    166198      beta=0.85
    167199      subpdq(1:ngrid,1:nlay,1:nq) = 0
  • trunk/LMDZ.MARS/libf/phymars/conf_phys.F

    r1619 r1651  
    4444      use dimradmars_mod, only: naerkind, name_iaer,
    4545     &                      ini_scatterers,tauvis
     46      USE meteoriticflux_mod !meteo_flux_mass,meteo_flux_number,alt_meteo
    4647
    4748      IMPLICIT NONE
     
    711712         write(*,*) " euveff = ", euveff
    712713
     714        !Meteoritic flux of dust : number, mass and altitude
     715        !dust tracers are incremented by thoses values in co2cloud.F
     716        ! Thus only apply if co2clouds=.true. in callphys.def
     717        meteo_flux_mass=0.
     718        call getin("meteo_flux_mass",meteo_flux_mass)
     719        meteo_flux_number=0.
     720        call getin("meteo_flux_number",meteo_flux_number)
     721        meteo_alt=5.
     722        call getin("meteo_alt",meteo_alt)
     723        WRITE(*,*) ""
     724        WRITE(*,*) "meteoritic flux of dust"
     725        WRITE(*,*) "dust mass = ",meteo_flux_mass
     726        WRITE(*,*) "dust number = ",meteo_flux_number
     727        WRITE(*,*) "at altitude = ",meteo_alt
     728         
     729
    713730         if (.not.callthermos) then
    714731           if (thermoswater) then
Note: See TracChangeset for help on using the changeset viewer.