Changeset 2409 for trunk


Ignore:
Timestamp:
Sep 17, 2020, 10:42:57 AM (4 years ago)
Author:
emillour
Message:

Mars GCM:
Code tidying : make a "dust_param_mod" module to store dust cycle relevant flags
and variables (and remove them from callkeys.h)
EM

Location:
trunk/LMDZ.MARS
Files:
1 added
15 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/README

    r2407 r2409  
    31403140- growthrate.F, microphys.h: addings to take into account the effect of diffusion kinetics on fractionation
    31413141- callsedim_mod.F: sedimentation of HDO as an isotope of water in the microphysics case
     3142
     3143== 17/09/2020 == EM
     3144Code tidying : make a "dust_param_mod" module to store dust cycle relevant flags
     3145and variables (and remove them from callkeys.h)
     3146
  • trunk/LMDZ.MARS/libf/aeronomars/inichim_newstart.F90

    r2321 r2409  
    66      USE mod_grid_phy_lmdz, ONLY: nbp_lon, nbp_lat, nbp_lev
    77      USE datafile_mod, ONLY: datadir
     8      use dust_param_mod, only: doubleq, submicron, dustbin
    89      implicit none
    910
  • trunk/LMDZ.MARS/libf/phymars/aeropacity_mod.F

    r2304 r2409  
    33      IMPLICIT NONE
    44
     5      INTEGER :: iddist ! flag for vertical dust ditribution type (when imposed)
     6                        ! 0: Pollack90, 1: top set by "topdustref"
     7                        ! 2: Viking scenario; =3 MGS scenario
     8      REAL :: topdustref ! Dust top altitude (km); only matters only if iddist=1)
    59      CONTAINS
    610
     
    3034     &            iaer_stormdust_doubleq,
    3135     &            iaer_topdust_doubleq
    32 
     36      use dust_param_mod, only: odpref, freedust
    3337       IMPLICIT NONE
    3438c=======================================================================
     
    161165! indexes of water ice and dust tracers:
    162166      INTEGER,SAVE :: i_ice=0  ! water ice
    163       real,parameter :: odpref=610. ! DOD reference pressure (Pa)
    164167      CHARACTER(LEN=20) :: txt ! to temporarly store text
    165168      CHARACTER(LEN=1) :: txt2 ! to temporarly store text
  • trunk/LMDZ.MARS/libf/phymars/callkeys.h

    r2312 r2409  
    1010     &   ,callnirco2,callnlte,callthermos,callconduct,calleuv           &
    1111     &   ,callmolvis,callmoldiff,thermochem,thermoswater,callemis       &
    12      &   ,callg2d,linear,rayleigh,tracer,active,doubleq,submicron       &
    13      &   ,lifting,freedust,callddevil,scavenging,sedimentation          &
     12     &   ,callg2d,linear,rayleigh,tracer                                &
     13     &   ,scavenging,sedimentation                                      &
    1414     &   ,activice,water,tifeedback,microphys,supersat,caps,photochem   &
    1515     &   ,calltherm,callrichsl,callslope,tituscap,callyamada4,co2clouds &
     
    1919     &   ,hdo,hdofrac
    2020     
    21       COMMON/callkeys_i/iradia,iaervar,iddist,ilwd,ilwb,ilwn,ncouche    &
    22      &   ,dustbin,nltemodel,nircorr,solvarmod,solvaryear,dustinjection
     21      COMMON/callkeys_i/iradia,iaervar,ilwd,ilwb,ilwn,ncouche           &
     22     &   ,nltemodel,nircorr,solvarmod,solvaryear,dustinjection
    2323     
    24       COMMON/callkeys_r/topdustref,semi,alphan,euveff,                  &
     24      COMMON/callkeys_r/semi,alphan,euveff,                             &
    2525     &   tke_heat_flux,dustrefir,fixed_euv_value,CLFfixval,             &
    2626     &   coeff_injection,ti_injection,tf_injection,coeff_detrainment
     
    4242      logical gwd_convective_source
    4343
    44       real topdustref
    4544      real semi
    4645      real alphan
     
    5453      real CLFfixval
    5554
    56       integer iddist
    5755      integer iaervar
    5856      integer iradia
     
    6765      logical rayleigh
    6866      logical tracer
    69       integer dustbin
    70       logical freedust 
    71       logical active,doubleq,submicron,lifting,callddevil,scavenging
     67      logical scavenging
    7268      logical rdstorm ! rocket dust storm parametrization
    7369      logical slpwind ! entrainment by slope wind parametrization
  • trunk/LMDZ.MARS/libf/phymars/callradite_mod.F

    r2398 r2409  
    2525      use lwmain_mod, only: lwmain
    2626      use swmain_mod, only: swmain
     27      use dust_param_mod, only: doubleq, active, submicron
    2728      IMPLICIT NONE
    2829c=======================================================================
  • trunk/LMDZ.MARS/libf/phymars/callsedim_mod.F

    r2407 r2409  
    2727      USE comcstfi_h, ONLY: g
    2828      USE dimradmars_mod, only: naerkind
     29      USE dust_param_mod, ONLY: doubleq
    2930      IMPLICIT NONE
    3031
  • trunk/LMDZ.MARS/libf/phymars/co2condens_mod.F

    r2399 r2409  
    2727       use planete_h, only: obliquit
    2828       use comcstfi_h, only: cpp, g, r, pi
    29        
     29       use dust_param_mod, only: freedust
     30
    3031#ifndef MESOSCALE
    3132       USE vertical_layers_mod, ONLY: ap, bp
     
    857858     &                      rho_dust, nuice_sed, nuice_ref,r3n_q
    858859      use comcstfi_h, only: g
    859      
     860      use dust_param_mod, only: freedust
    860861      IMPLICIT NONE
    861       include "callkeys.h" ! for the flags water, microphys and freedust
     862      include "callkeys.h" ! for the flags water and microphys
    862863c
    863864c
  • trunk/LMDZ.MARS/libf/phymars/compute_dtau_mod.F90

    r2265 r2409  
    22
    33        IMPLICIT NONE
    4 
    5         include "callkeys.h"
    64
    75        REAL,SAVE :: ti_injection_sol ! time of beginning injection
     
    2321        USE tracer_mod, only: alpha_lift,igcm_dust_mass,igcm_dust_number
    2422        USE dimradmars_mod, only: tauvis
     23        USE dust_param_mod, only: odpref
    2524       
    2625        IMPLICIT NONE
     
    4241        REAL :: zday_scenario
    4342        REAL,ALLOCATABLE,SAVE :: local_time_prev(:)
    44         REAL,PARAMETER :: odpref=610. !DOD reference pressure (Pa)
    4543       
    4644        LOGICAL, SAVE :: firstcall=.TRUE. ! signals first call to physics
  • trunk/LMDZ.MARS/libf/phymars/conf_phys.F

    r2398 r2409  
    4545      use calchim_mod, only: ichemistry
    4646      use co2condens_mod, only: scavco2cond
    47      
     47      use dust_param_mod, only: dustbin, doubleq, submicron, active,
     48     &                          lifting, freedust, callddevil
     49      use aeropacity_mod, only: iddist, topdustref
    4850      IMPLICIT NONE
    4951      include "callkeys.h"
  • trunk/LMDZ.MARS/libf/phymars/dimradmars_mod.F90

    r2199 r2409  
    103103  REAL,SAVE,ALLOCATABLE :: fluxrad(:) ! Net radiative surface flux (W.m-2)
    104104  REAL,SAVE,ALLOCATABLE :: albedo(:,:) ! Surface albedo in each solar band
    105   REAL,SAVE,ALLOCATABLE :: tauscaling(:)   ! Convertion factor for qdust and Ndust
    106105  REAL,SAVE,ALLOCATABLE :: totcloudfrac(:) ! total cloud fraction over the column
    107106! aerosol (dust or ice) extinction optical depth  at reference wavelength
     
    174173   allocate(fluxrad_sky(ngrid))
    175174   allocate(fluxrad(ngrid))
    176    allocate(tauscaling(ngrid))
    177175   allocate(nueffdust(ngrid,nlayer))
    178176   allocate(totcloudfrac(ngrid))
     
    188186   if (allocated(fluxrad_sky)) deallocate(fluxrad_sky)
    189187   if (allocated(fluxrad))     deallocate(fluxrad)
    190    if (allocated(tauscaling))  deallocate(tauscaling)
    191188   if (allocated(nueffdust))   deallocate(nueffdust)
    192189   if (allocated(totcloudfrac))   deallocate(totcloudfrac)
  • trunk/LMDZ.MARS/libf/phymars/initracer.F

    r2398 r2409  
    33       use tracer_mod
    44       use comcstfi_h, only: pi
     5       use dust_param_mod, only: doubleq, submicron, dustbin
    56       IMPLICIT NONE
    67c=======================================================================
  • trunk/LMDZ.MARS/libf/phymars/phys_state_var_init_mod.F90

    r2332 r2409  
    6060      use nonoro_gwd_ran_mod, only: ini_nonoro_gwd_ran, &
    6161                                    end_nonoro_gwd_ran
     62      use dust_param_mod, only: ini_dust_param_mod, &
     63                                end_dust_param_mod
    6264
    6365      IMPLICIT NONE
     
    156158      call ini_nonoro_gwd_ran(ngrid,nlayer)
    157159
     160      ! allocate arrays in "dust_param_mod"
     161      call end_dust_param_mod
     162      call ini_dust_param_mod(ngrid)
    158163
    159164      END SUBROUTINE phys_state_var_init
  • trunk/LMDZ.MARS/libf/phymars/physiq_mod.F

    r2406 r2409  
    5454      use conc_mod, only: rnew, cpnew, mmean
    5555      use time_phylmdz_mod, only: iphysiq, day_step, ecritstart, daysec
    56       use dimradmars_mod, only: tauscaling, aerosol, totcloudfrac,
     56      use dimradmars_mod, only: aerosol, totcloudfrac,
    5757     &                          dtrad, fluxrad_sky, fluxrad, albedo,
    5858     &                          naerkind, iaer_dust_doubleq,
    5959     &                          iaer_stormdust_doubleq
     60      use dust_param_mod, only: doubleq, lifting, callddevil,
     61     &                          tauscaling, odpref, dustbin
    6062      use turb_mod, only: q2, wstar, ustar, sensibFlux,
    6163     &                    zmax_th, hfmax_th, turb_resolved
     
    292294                                    !            - in a mesh with background dust only (true)
    293295     
    294       real,parameter :: odpref=610. ! DOD reference pressure (Pa)
    295296      REAL tau(ngrid,naerkind)     ! Column dust optical depth at each point
    296297                                   ! AS: TBD: this one should be in a module !
  • trunk/LMDZ.MARS/libf/phymars/updatereffrad_mod.F

    r2199 r2409  
    2222     &            iaer_dust_submicron,iaer_h2o_ice,
    2323     &            iaer_stormdust_doubleq,iaer_topdust_doubleq
    24 
     24       use dust_param_mod, only: doubleq, active
    2525       IMPLICIT NONE
    2626c=======================================================================
  • trunk/LMDZ.MARS/libf/phymars/vdifc_mod.F

    r2316 r2409  
    2626      use compute_dtau_mod, only: ti_injection_sol,tf_injection_sol
    2727      use hdo_surfex_mod, only: hdo_surfex
     28      use dust_param_mod, only: doubleq, submicron, lifting
    2829
    2930      IMPLICIT NONE
Note: See TracChangeset for help on using the changeset viewer.