| 1 | ! |
|---|
| 2 | ! $Id: $ |
|---|
| 3 | ! |
|---|
| 4 | MODULE logic_mod |
|---|
| 5 | |
|---|
| 6 | IMPLICIT NONE |
|---|
| 7 | |
|---|
| 8 | LOGICAL purmats ! true if time stepping is purely Matsuno scheme |
|---|
| 9 | ! false implies Matsuno-Leapfrog time stepping scheme |
|---|
| 10 | LOGICAL forward ! true if during forward phase of Matsuno step |
|---|
| 11 | LOGICAL leapf ! true if during a leapfrog time stepping step |
|---|
| 12 | LOGICAL apphys ! true if during a time step when physics will be called |
|---|
| 13 | LOGICAL statcl |
|---|
| 14 | LOGICAL conser |
|---|
| 15 | LOGICAL apdiss ! true if during a time step when dissipation will be called |
|---|
| 16 | LOGICAL apdelq |
|---|
| 17 | LOGICAL saison |
|---|
| 18 | LOGICAL ecripar |
|---|
| 19 | LOGICAL fxyhypb ! true if using hyperbolic function discretization |
|---|
| 20 | ! for latitudinal grid |
|---|
| 21 | LOGICAL ysinus ! true if using sine function discretiation |
|---|
| 22 | ! for latitudinal grid |
|---|
| 23 | LOGICAL read_start ! true if reading a start.nc file to initialize fields |
|---|
| 24 | LOGICAL ok_guide ! true if nudging |
|---|
| 25 | LOGICAL ok_strato |
|---|
| 26 | LOGICAL tidal ! true if adding tidal forces (for Titan) |
|---|
| 27 | LOGICAL ok_gradsfile |
|---|
| 28 | LOGICAL ok_limit ! true for boundary conditions file creation (limit.nc) |
|---|
| 29 | LOGICAL ok_etat0 ! true for initial states creation (start.nc, startphy.nc) |
|---|
| 30 | LOGICAL read_orop ! true for sub-cell scales orographic params read in file |
|---|
| 31 | LOGICAL hybrid ! vertical coordinate is hybrid if true (sigma otherwise) |
|---|
| 32 | ! (only used if disvert_type==2) |
|---|
| 33 | LOGICAL moyzon_mu,moyzon_ch ! used for zonal averages in Titan |
|---|
| 34 | |
|---|
| 35 | INTEGER iflag_phys ! type of physics to call: 0 none, 1: phy*** package, |
|---|
| 36 | ! 2: Held & Suarez, 101-200: aquaplanets & terraplanets |
|---|
| 37 | INTEGER iflag_trac |
|---|
| 38 | |
|---|
| 39 | !$OMP THREADPRIVATE(purmats,forward,leapf,apphys,statcl,conser, & |
|---|
| 40 | !$OMP apdiss,apdelq,saison,ecripar,fxyhypb,ysinus, & |
|---|
| 41 | !$OMP read_start,ok_guide,ok_strato,tidal,ok_gradsfile, & |
|---|
| 42 | !$OMP ok_limit,ok_etat0,hybrid,moyzon_mu,moyzon_ch) |
|---|
| 43 | !$OMP THREADPRIVATE(iflag_phys,iflag_trac) |
|---|
| 44 | |
|---|
| 45 | !WARNING: when adding a threadprivate variable in this module |
|---|
| 46 | ! do not forget to add it to the copyin clause when opening an OpenMP |
|---|
| 47 | ! parallel section. e.g. in gcm before call leapfrog_loc |
|---|
| 48 | |
|---|
| 49 | END MODULE logic_mod |
|---|