Ignore:
Timestamp:
Apr 17, 2025, 9:45:14 AM (3 months ago)
Author:
emillour
Message:

Mars PCM:
Turn "callkeys.h" into module "callkeys_mod.F90"
EM

File:
1 moved

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/callkeys_mod.F90 ΒΆ

    r3725 r3726  
    1 !
    2 ! For Fortran 77/Fortran 90 compliance always use line continuation
    3 ! symbols '&' in columns 73 and 6
    4 !
    5 ! NB: to keep commons aligned, it is better to split them in groups
    6 !     of given types (logical, integer, real, ...)
     1MODULE callkeys_mod
    72
    8       COMMON/callkeys_l/callrad,calldifv,calladj,callcond,callsoil      &
    9      &   ,season,diurnal,calllott,calleofdump                           &
    10      &   ,callnirco2,callnlte,callthermos,callconduct,calleuv           &
    11      &   ,callmolvis,callmoldiff,thermochem,thermoswater,callemis       &
    12      &   ,callg2d,linear,rayleigh                                       &
    13      &   ,scavenging,sedimentation                                      &
    14      &   ,activice,water,microphys,supersat,caps,photochem              &
    15      &   ,calltherm,callrichsl,callslope,tituscap,callyamada4,co2clouds &
    16      &   ,co2useh2o,meteo_flux,activeco2ice,CLFvaryingCO2,spantCO2      &
    17      &   ,CLFvarying,satindexco2,rdstorm,topflows,calllott_nonoro       &
    18      &   ,latentheat_surfwater,gwd_convective_source,startphy_file      &
    19      &   ,hdo,hdofrac,cst_cap_albedo,temp_dependent_m,refill_watercap   &
    20      &   ,cloud_adapt_ts,callatke,surfaceice_tifeedback                 &
    21      &   , poreice_tifeedback
    22 !$OMP THREADPRIVATE(/callkeys_l/)
     3IMPLICIT NONE
    234
    24      
    25       COMMON/callkeys_i/iradia,iaervar,ilwd,ilwb,ilwn,ncouche           &
    26      &   ,nltemodel,nircorr,solvarmod,solvaryear,dustinjection
    27 !$OMP THREADPRIVATE(/callkeys_i/)
    28      
    29       COMMON/callkeys_r/semi,alphan,euveff,                             &
    30      &   tke_heat_flux,dustrefir,fixed_euv_value,CLFfixval,             &
    31      &   coeff_injection,ti_injection,tf_injection,coeff_detrainment
    32 !$OMP THREADPRIVATE(/callkeys_r/)
    33      
    34       LOGICAL callrad,calldifv,calladj,callcond,callsoil,               &
    35      &   season,diurnal,calllott,calllott_nonoro                        &
    36      &   ,calleofdump                                                   &
    37      &   ,callnirco2,callnlte,callthermos,callconduct,                  &
    38      &    calleuv,callmolvis,callmoldiff,thermochem,thermoswater        &
    39      &   ,calltherm,callrichsl,callslope,tituscap,callyamada4,callatke
     5logical,save :: startphy_file
     6!$OMP THREADPRIVATE(startphy_file)
    407
    41       COMMON/aeroutput/dustiropacity
    42 !$OMP THREADPRIVATE(/aeroutput/)
     8logical,save :: callrad,calldifv,calladj,callcond,callsoil
     9!$OMP THREADPRIVATE(callrad,calldifv,calladj,callcond,callsoil)
     10logical,save :: season,diurnal,calllott,calllott_nonoro
     11!$OMP THREADPRIVATE(season,diurnal,calllott,calllott_nonoro)
     12logical,save :: calleofdump
     13!$OMP THREADPRIVATE(calleofdump)
     14logical,save :: callnirco2,callnlte,callthermos,callconduct
     15!$OMP THREADPRIVATE(callnirco2,callnlte,callthermos,callconduct)
     16logical,save :: calleuv,callmolvis,callmoldiff,thermochem,thermoswater
     17!$OMP THREADPRIVATE(calleuv,callmolvis,callmoldiff,thermochem,thermoswater)
     18logical,save :: calltherm,callrichsl,callslope,tituscap
     19!$OMP THREADPRIVATE(calltherm,callrichsl,callslope,tituscap)
     20logical,save :: callyamada4,callatke
     21!$OMP THREADPRIVATE(callyamada4,callatke)
     22logical,save :: callemis
     23logical,save :: callg2d
     24!$OMP THREADPRIVATE(callemis,callg2d)
     25logical,save :: linear ! ?!?
     26!$OMP THREADPRIVATE(linear)
     27logical,save :: gwd_convective_source
     28!$OMP THREADPRIVATE(gwd_convective_source)
    4329
    44       logical startphy_file
     30real,save :: semi ! ?!?
     31!$OMP THREADPRIVATE(semi)
     32real,save :: alphan ! ?!?
     33!$OMP THREADPRIVATE(alphan)
     34real,save :: fixed_euv_value
     35!$OMP THREADPRIVATE(fixed_euv_value)
     36real,save :: euveff
     37!$OMP THREADPRIVATE(euveff)
     38real,save :: tke_heat_flux
     39!$OMP THREADPRIVATE(tke_heat_flux)
     40real,save :: coeff_injection ! dust injection scheme coefficient
     41!$OMP THREADPRIVATE(coeff_injection)
     42real,save :: ti_injection ! local time of beginning injection
     43real,save :: tf_injection ! local time of end injection
     44!$OMP THREADPRIVATE(ti_injection,tf_injection)
     45real,save :: coeff_detrainment ! rocket dust detrainment coefficient
     46!$OMP THREADPRIVATE(coeff_detrainment)
     47real,save :: CLFfixval
     48!$OMP THREADPRIVATE(CLFfixval)
    4549
    46       logical callemis
    47       logical callg2d
    48       logical linear
    49       logical gwd_convective_source
     50integer,save :: iaervar
     51!$OMP THREADPRIVATE(iaervar)
     52integer,save :: iradia
     53!$OMP THREADPRIVATE(iradia)
     54integer,save :: ilwd
     55integer,save :: ilwb
     56integer,save :: ilwn
     57!$OMP THREADPRIVATE(ilwd,ilwb,ilwn)
     58integer,save :: ncouche
     59!$OMP THREADPRIVATE(ncouche)
     60integer,save :: solvarmod   ! model for solar EUV variation
     61!$OMP THREADPRIVATE(solvarmod)
     62integer,save :: solvaryear  ! mars year for realisticly varying solar EUV
     63!$OMP THREADPRIVATE(solvaryear)
     64integer,save :: dustinjection ! dust injection scheme number
     65!$OMP THREADPRIVATE(dustinjection)
    5066
    51       real semi
    52       real alphan
    53       real fixed_euv_value
    54       real euveff
    55       real tke_heat_flux
    56       real coeff_injection ! dust injection scheme coefficient
    57       real ti_injection ! local time of beginning injection
    58       real tf_injection ! local time of end injection
    59       real coeff_detrainment ! rocket dust detrainment coefficient
    60       real CLFfixval
     67logical,save :: rayleigh
     68!$OMP THREADPRIVATE(rayleigh)
     69logical,save :: scavenging
     70!$OMP THREADPRIVATE(scavenging)
     71logical,save :: rdstorm ! rocket dust storm parametrization
     72!$OMP THREADPRIVATE(rdstorm)
     73logical,save :: topflows ! entrainment by mountain top dust flows parametrization
     74!$OMP THREADPRIVATE(topflows)
     75logical,save :: latentheat_surfwater ! latent heat release from ground water ice sublimation/condensation
     76!$OMP THREADPRIVATE(latentheat_surfwater)
     77logical,save :: cst_cap_albedo ! polar cap albedo remains unchanged by water frost deposition
     78!$OMP THREADPRIVATE(cst_cap_albedo)
     79logical,save :: temp_dependent_m ! temperature-dependent water contact parameter
     80!$OMP THREADPRIVATE(temp_dependent_m)
     81logical,save :: refill_watercap ! h2o_ice_s is converted to watercap when above threshold
     82!$OMP THREADPRIVATE(refill_watercap)
     83logical,save :: cloud_adapt_ts ! adaptative timestep for cloud microphysics
     84!$OMP THREADPRIVATE(cloud_adapt_ts)
     85logical,save :: sedimentation
     86!$OMP THREADPRIVATE(sedimentation)
     87logical,save :: activice,surfaceice_tifeedback,supersat,caps
     88!$OMP THREADPRIVATE(activice,surfaceice_tifeedback,supersat,caps)
     89logical,save :: poreice_tifeedback
     90!$OMP THREADPRIVATE(poreice_tifeedback)
     91logical,save :: co2clouds,co2useh2o,meteo_flux,CLFvaryingCO2,satindexco2
     92!$OMP THREADPRIVATE(co2clouds,co2useh2o,meteo_flux,CLFvaryingCO2,satindexco2)
     93logical,save :: activeco2ice
     94!$OMP THREADPRIVATE(activeco2ice)
     95integer,save :: spantCO2
     96!$OMP THREADPRIVATE(spantCO2)
     97logical,save :: CLFvarying
     98!$OMP THREADPRIVATE(CLFvarying)
     99logical,save :: water
     100!$OMP THREADPRIVATE(water)
     101logical,save :: hdo
     102logical,save :: hdofrac
     103!$OMP THREADPRIVATE(hdo,hdofrac)
     104logical,save :: microphys
     105!$OMP THREADPRIVATE(microphys)
     106logical,save :: photochem
     107!$OMP THREADPRIVATE(photochem)
     108integer,save :: nltemodel
     109!$OMP THREADPRIVATE(nltemodel)
     110integer,save :: nircorr
     111!$OMP THREADPRIVATE(nircorr)
    61112
    62       integer iaervar
    63       integer iradia
    64       integer ilwd
    65       integer ilwb
    66       integer ilwn
    67       integer ncouche
    68       integer solvarmod   ! model for solar EUV variation
    69       integer solvaryear  ! mars year for realisticly varying solar EUV
    70       integer dustinjection ! dust injection scheme number
     113character(len=100),save :: dustiropacity
     114!$OMP THREADPRIVATE(dustiropacity)
     115real,save :: dustrefir
     116!$OMP THREADPRIVATE(dustrefir)
     117 
     118integer,parameter :: swrtype=2 ! type of short wave (solar wavelength) radiative
     119      ! transfer to use 1: Fouquart 2: Toon.
    71120
    72       logical rayleigh
    73       logical scavenging
    74       logical rdstorm ! rocket dust storm parametrization
    75       logical topflows ! entrainment by mountain top dust flows parametrization
    76       logical latentheat_surfwater ! latent heat release from ground water ice sublimation/condensation
    77       logical cst_cap_albedo ! polar cap albedo remains unchanged by water frost deposition
    78       logical temp_dependent_m ! temperature-dependent water contact parameter
    79       logical refill_watercap ! h2o_ice_s is converted to watercap when above threshold
    80       logical cloud_adapt_ts ! adaptative timestep for cloud microphysics
    81       logical sedimentation
    82       logical activice,surfaceice_tifeedback,supersat,caps
    83       logical poreice_tifeedback
    84       logical co2clouds,co2useh2o,meteo_flux,CLFvaryingCO2,satindexco2
    85       logical activeco2ice
    86       integer spantCO2
    87       logical CLFvarying
    88       logical water
    89       logical hdo
    90       logical hdofrac
    91       logical microphys
    92       logical photochem
    93       integer nltemodel
    94       integer nircorr
    95 
    96       character(len=100) dustiropacity
    97       real               dustrefir
    98  
    99       integer swrtype ! type of short wave (solar wavelength) radiative
    100       ! transfer to use 1: Fouquart 2: Toon.
    101       parameter (swrtype=2)
    102 !      parameter (swrtype=2)
     121END MODULE callkeys_mod
Note: See TracChangeset for help on using the changeset viewer.