Ignore:
Timestamp:
Jul 25, 2016, 11:31:56 AM (8 years ago)
Author:
Ehouarn Millour
Message:

Cleanup in the dynamics: turn logic.h into module logic_mod.F90
EM

File:
1 moved

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3dmem/logic_mod.F90

    r2600 r2603  
    22! $Id: $
    33!
    4 !
    5 ! NB: keep items of different kinds in seperate common blocs to avoid
    6 !     "misaligned commons" issues
    7 !-----------------------------------------------------------------------
    8 ! INCLUDE 'logic.h'
     4MODULE logic_mod
    95
    10       COMMON/logicl/ purmats,forward,leapf,apphys,                      &
    11      &  statcl,conser,apdiss,apdelq,saison,ecripar,fxyhypb,ysinus       &
    12      &  ,read_start,ok_guide,ok_strato,ok_gradsfile                     &
    13      &  ,ok_limit,ok_etat0,hybrid
     6IMPLICIT NONE
    147
    15       COMMON/logici/ iflag_phys,iflag_trac
    16      
    17       LOGICAL purmats,forward,leapf,apphys,statcl,conser,               &
    18      & apdiss,apdelq,saison,ecripar,fxyhypb,ysinus                      &
    19      &  ,read_start,ok_guide,ok_strato,ok_gradsfile                     &
    20      &  ,ok_limit,ok_etat0
    21      
    22       logical hybrid ! vertical coordinate is hybrid if true (sigma otherwise)
    23                      ! (only used if disvert_type==2)
     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 ok_gradsfile
     27  LOGICAL ok_limit
     28  LOGICAL ok_etat0
     29  LOGICAL hybrid ! vertical coordinate is hybrid if true (sigma otherwise)
     30                 ! (only used if disvert_type==2)
     31  INTEGER iflag_phys ! type of physics to call: 0 none, 1: phy*** package,
     32                     ! 2: Held & Suarez, 101-200: aquaplanets & terraplanets
     33  INTEGER iflag_trac
    2434
    25       integer iflag_phys,iflag_trac
    26 !$OMP THREADPRIVATE(/logicl/)
    27 !$OMP THREADPRIVATE(/logici/)
    28 !-----------------------------------------------------------------------
     35!$OMP THREADPRIVATE(purmats,forward,leapf,apphys,statcl,conser, &
     36!$OMP     apdiss,apdelq,saison,ecripar,fxyhypb,ysinus, &
     37!$OMP     read_start,ok_guide,ok_strato,ok_gradsfile, &
     38!$OMP     ok_limit,ok_etat0,hybrid)
     39!$OMP THREADPRIVATE(iflag_phys,iflag_trac)
     40
     41!WARNING: when adding a threadprivate variable in this module
     42!        do not forget to add it to the copyin clause when opening an OpenMP
     43!        parallel section. e.g. in gcm before call leapfrog_loc
     44
     45END MODULE logic_mod
Note: See TracChangeset for help on using the changeset viewer.