[2409] | 1 | module dust_param_mod |
---|
| 2 | ! This module contains flags and saved variables for the dust cycle |
---|
| 3 | implicit none |
---|
| 4 | LOGICAL,SAVE :: active ! is dust radiatively active? |
---|
| 5 | LOGICAL,SAVE :: doubleq ! use 2-moment schmeme for dust? (dustbin must then be >=2) |
---|
| 6 | LOGICAL,SAVE :: submicron ! include a secondary dust distribution (submicron particules) |
---|
| 7 | LOGICAL,SAVE :: lifting ! flag to activate injection of dust from the surface |
---|
| 8 | LOGICAL,SAVE :: freedust ! if true: no rescaling (via tauscaling) of the dust mass and number |
---|
| 9 | LOGICAL,SAVE :: callddevil ! flag to activate dust devil (dust lifing/injection) parametrization |
---|
[2643] | 10 | LOGICAL,SAVE :: reff_driven_IRtoVIS_scenario ! use GCM dust size to convert IR scenarios to VIS |
---|
[2578] | 11 | |
---|
| 12 | !$OMP THREADPRIVATE(active, doubleq,submicron,lifting,freedust, & |
---|
| 13 | !$OMP callddevil) |
---|
[2409] | 14 | |
---|
| 15 | INTEGER,SAVE :: dustbin ! number of bins of dust tracers |
---|
| 16 | |
---|
[2578] | 17 | !$OMP THREADPRIVATE(dustbin) |
---|
| 18 | |
---|
[2409] | 19 | REAL,PARAMETER :: odpref = 610. ! Reference pressure (Pa) of |
---|
[2415] | 20 | ! DOD (Dust optical Depth) tau_pref_* |
---|
[2409] | 21 | |
---|
| 22 | REAL,SAVE,ALLOCATABLE :: tauscaling(:) ! Convertion factor for qdust and Ndust |
---|
[2417] | 23 | INTEGER,SAVE :: dustscaling_mode ! dust scaling modes |
---|
| 24 | ! =0, no rescaling (freedust) |
---|
| 25 | ! =1, prescribed scaling GCM5.3 style (using tauscaling) |
---|
| 26 | ! =2, only radiative scaling (using dust_rad_adjust) |
---|
| 27 | REAL,SAVE,ALLOCATABLE :: dust_rad_adjust(:) ! radiative scaling for dust |
---|
| 28 | REAL,PARAMETER :: t_scenario_sol=14/24. ! time of day (sol) at which |
---|
| 29 | ! tau_pref_scenario is deemed exact |
---|
[2409] | 30 | |
---|
[2643] | 31 | !$OMP THREADPRIVATE(tauscaling,dustscaling_mode,dust_rad_adjust) |
---|
[2578] | 32 | |
---|
[2409] | 33 | contains |
---|
| 34 | |
---|
| 35 | subroutine ini_dust_param_mod(ngrid) |
---|
| 36 | implicit none |
---|
| 37 | integer,intent(in) :: ngrid ! number of atmospheric columns |
---|
| 38 | |
---|
| 39 | allocate(tauscaling(ngrid)) |
---|
[2417] | 40 | allocate(dust_rad_adjust(ngrid)) |
---|
[2409] | 41 | |
---|
| 42 | end subroutine ini_dust_param_mod |
---|
| 43 | |
---|
| 44 | subroutine end_dust_param_mod |
---|
| 45 | implicit none |
---|
| 46 | |
---|
| 47 | if (allocated(tauscaling)) deallocate(tauscaling) |
---|
[2417] | 48 | if (allocated(dust_rad_adjust)) deallocate(dust_rad_adjust) |
---|
[2409] | 49 | |
---|
| 50 | end subroutine end_dust_param_mod |
---|
| 51 | end module dust_param_mod |
---|