Difference between revisions of "Dust Cycle in Mars PCM6"
Line 117: | Line 117: | ||
== Level 2 (developper) : Parametrizations and tunable parameters == | == Level 2 (developper) : Parametrizations and tunable parameters == | ||
+ | Reference technical notes : | ||
+ | |||
+ | https://www-mars.lmd.jussieu.fr/cnes/2019/LMD_CNES_EXM_gcm6.0.pdf | ||
+ | |||
+ | https://www-mars.lmd.jussieu.fr/cnes/2020/note_technique_GCM_dust.pdf | ||
+ | |||
+ | https://www-mars.lmd.jussieu.fr/cnes/2021/note_technique_dust_cycle2021.pdf | ||
== What's going on for rocket dust storms and injection : a detailed example through the physics parametrizations == | == What's going on for rocket dust storms and injection : a detailed example through the physics parametrizations == |
Revision as of 20:15, 1 December 2023
This page details at different levels how to use and what is featured in the dust cycle in Mars PCM6. This is still work in progress for now !
Level 1 (user) : Flags for PCM6 dust cycle
To run a simulation with the PCM6 dust cycle, you need to set up several flags and parameters in your callphys.def (see an example here: https://trac.lmd.jussieu.fr/Planeto/browser/trunk/LMDZ.MARS/deftank/callphys.def.GCM6)
We list below all the relevant flags and parameters directly related to PCM6 dust cycle :
1 ##General options
2 ##~~~~~~~~~~~~~~~
3 #Directory where external input files are:
4 datadir=/path/to/datadir
5
6 #Run with or without tracer transport ?
7 tracer=.true.
8 .
9 .
10 .
11
12 ## Dust scenario. Used to prescribe the dust
13 ## ~~~~~~~~~~~~~
14 # =1 Dust opt.deph read in startfi; =2 Viking scenario; =3 MGS scenario [default],
15 # =4 Mars Year 24 from TES assimilation (old version of MY24; dust_tes.nc file)
16 # =6 "cold" (low dust) scenario ; =7 "warm" (high dust) scenario
17 # =8 "climatology" (our best guess of a typical Mars year) scenario
18 # =24 Mars Year 24 from TES assimilation (ie: MCD reference case)
19 # =25 Mars Year 25 from TES assimilation (ie: a year with a global dust storm)
20 # =26 Mars Year 26 from TES assimilation
21 # ...
22 # =35 Mars Year 35 from observers assimilation
23 iaervar = 8
24 .
25 .
26 .
27
28 # Dust IR opacity ref. wavelength (for dso diagnostics only)
29 # "tes" (9.3 microns) [default] or "mcs" (21.6 microns)
30 dustiropacity = tes
31 # Use an IR to VIS scenario conversion coefficient that is
32 # dependent on the GCM dust effective radius,
33 # instead of a fixed 2.6 coefficient ?
34 #(only if dustiropacity = tes ; default = .false.)
35 reff_driven_IRtoVIS_scenario = .true.
36
37 ## Physical Parameterizations :
38 ## ~~~~~~~~~~~~~~~~~~~~~~~~~~
39 # call radiative transfer ? (default=.true.)
40 callrad = .true.
41 .
42 .
43 .
44
45
46 ## Radiative transfer options :
47 ## ~~~~~~~~~~~~~~~~~~~~~~~~~~
48 .
49 .
50 .
51
52 # SCATTERERS: set number of scatterers.
53 # Must be compliant with other options: +1 if active, +1 if rdstorm, +1 if topflows, +1 if activice ; default=1)
54 naerkind = 4
55
56 ## Tracer (dust water, ice and/or chemical species) options (used if tracer=T):
57 ## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58 # DUST: Transported dust ? (if >0, use 'dustbin' dust bins ; default=0)
59 dustbin = 2
60 # DUST: Radiatively active dust ? (matters if dustbin>0 ; default=.false.)
61 active = .true.
62 # DUST: use mass and number mixing ratios to predict dust size ? (default=.false.)
63 doubleq = .true.
64 .
65 .
66 .
67 # DUST: lifted by GCM surface winds ? (default=.false.)
68 lifting = .true.
69 .
70 .
71 .
72 # DUST: Scavenging by H2O snowfall ? (default=.false.)
73 scavenging = .true.
74
75 # DUST: freedust ? (default=.false.)
76 freedust=.true.
77 # DUST: dustscaling_mode?
78 # =0 --> freedust, tauscaling=1
79 # =1 --> GCM5.3-like, tauscaling
80 # =2 --> tauscaling=1,dust_rad_adjust
81 dustscaling_mode=2
82 # DUST: dust injection scheme (if >0, use 'dustinjection' ; default=0)
83 dustinjection=1
84 # DUST: dust injection scheme coefficient (default=0.25)
85 coeff_injection=0.25
86 # DUST: dust injection scheme initial local time (default=0.)
87 ti_injection=0.
88 # DUST: dust injection scheme final local time (default=24.)
89 tf_injection=24.
90 # DUST: Rocket Dust Storm scheme (default=.false.)
91 rdstorm=.true.
92 # DUST: RDS detrainment coefficient (default=0.02)
93 coeff_detrainment=0.02
94 # DUST: Dust entrainment by subgrid-scale slope winds (default=.false.)
95 topflows=.true.
96
97 # DUST/WATERICE: Scavenging by CO2 condensation? (default=.false.)
98 scavco2cond = .true.
99 # DUST/WATERICE: Gravitationnal sedimentation ? (default=.true.)
100 sedimentation = .true.
101
102 .
103 .
104 .
Note that the PCM6 dust cycle has mainly been tested with the non-dust-related flags and parameters that are featured in callphys.def.GCM6 and callphys.def.MCD6 (cf https://trac.lmd.jussieu.fr/Planeto/browser/trunk/LMDZ.MARS/deftank/), and in general with the *.def files (run.def, traceur.def, z2sig.def) that are suffixed with .GCM6 or .MCD6. If you depart from these files, even for non-dust related processes, we do not ensure the good tuning of the dust cycle, nor to a lesser extent the good compilation/execution of the model. If this happens, please reach out to us !
Level 2 (developper) : Parametrizations and tunable parameters
Reference technical notes :
https://www-mars.lmd.jussieu.fr/cnes/2019/LMD_CNES_EXM_gcm6.0.pdf
https://www-mars.lmd.jussieu.fr/cnes/2020/note_technique_GCM_dust.pdf
https://www-mars.lmd.jussieu.fr/cnes/2021/note_technique_dust_cycle2021.pdf
What's going on for rocket dust storms and injection : a detailed example through the physics parametrizations
À 14h, si le scénario du jour d'après donne une opacité de 5 alors que le jour actuel, le GCM a une opacité disons de 1 dans la colonne :
1. on calcule le dtau=5-1=4, puis ce que ça ferait comme quantité de poussière à 3µm à ajouter dans l'atmosphère
2. on injecte cette quantité de poussière nuancée par un coef Cinj pour prendre en compte que le saut de tau_scenario peut venir non pas d'injection locale mais de transports depuis les autres mailles. En pratique, Cinj=0.25, ce qui donne une injection de ~5e-8kg/m²/s
3. toute cette poussière est injectée de manière uniforme entre le 14h actuel et 14h du jour d'après sous forme de stormdust dans la 1ère couche par vdifc, qui la mélange déjà un peu sur plusieurs couches, avant qu'elle ne passe par les thermiques/l'ajustement convectif, la sédimentation (mais on empêche la stormdust de tomber au sol, elle reste dans la 1ère couche à la place), et 5 pas de temps de dynamique
4. une fois retourné au pas de temps physique suivant, on calcule la fraction sous-maille à partir du maximum de mass mixing ratio de stormdust dans toute la colonne (à part la 1ère couche (?) ), par rapport à un mixing ratio de référence mmr_ref=5e-4kg/kg que l'on considère représentatif d'une opacité de 10 (telle que mesurée dans une local dust storm par OMEGA)
5. enfin, on rentre dans la routine rocketduststorm, où on regarde si qqpart dans la colonne, le mmr de stormdust (non-concentré dans la fraction sous-maille) est supérieur à 10^(-4) fois celui du background dust. Si c'est le cas, on active le schéma dans la colonne, et on calcule l'écart de chauffage entre la fraction sous-maille et la maille totale, le transport vertical qui en résulte dans la fraction sous-maille, et le détraînement. Si ce n'est pas le cas (pas assez de stormdust nulle part dans la colonne) on détraîne tout