Changeset 3797 for palm/trunk/SOURCE


Ignore:
Timestamp:
Mar 15, 2019 11:15:38 AM (6 years ago)
Author:
forkel
Message:

Modifications for OpenMP version by Klaus Ketelsen

Location:
palm/trunk/SOURCE
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/chem_gasphase_mod.f90

    r3789 r3797  
    9898                                                                 
    9999  LOGICAL                     :: data_loaded = .FALSE.             
     100  REAL(dp), POINTER, DIMENSION(:), CONTIGUOUS    :: var             
    100101! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    101102!
     
    113114!
    114115! File                 : chem_gasphase_mod_Parameters.f90
    115 ! Time                 : Fri Mar  8 19:01:03 2019
    116 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     116! Time                 : Fri Mar 15 12:08:06 2019
     117! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    117118! Equation file        : chem_gasphase_mod.kpp
    118119! Output root filename : chem_gasphase_mod
     
    190191!
    191192! File                 : chem_gasphase_mod_Global.f90
    192 ! Time                 : Fri Mar  8 19:01:03 2019
    193 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     193! Time                 : Fri Mar 15 12:08:06 2019
     194! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    194195! Equation file        : chem_gasphase_mod.kpp
    195196! Output root filename : chem_gasphase_mod
     
    205206
    206207! C - Concentration of all species
    207   REAL(kind=dp):: c(nspec)
     208  REAL(kind=dp), TARGET    :: c(nspec)
    208209! VAR - Concentrations of variable species (global)
    209   REAL(kind=dp):: var(nvar)
     210! REAL(kind=dp):: var(nvar)  var is now POINTER
    210211! FIX - Concentrations of fixed species (global)
    211212  REAL(kind=dp):: fix(nfix)
    212213! VAR,FIX are chunks of array C
    213       EQUIVALENCE( c(1), var(1))
    214214! RCONST - Rate constants (global)
    215215  REAL(kind=dp):: rconst(nreact)
     
    256256!
    257257! File                 : chem_gasphase_mod_JacobianSP.f90
    258 ! Time                 : Fri Mar  8 19:01:03 2019
    259 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     258! Time                 : Fri Mar 15 12:08:06 2019
     259! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    260260! Equation file        : chem_gasphase_mod.kpp
    261261! Output root filename : chem_gasphase_mod
     
    300300!
    301301! File                 : chem_gasphase_mod_Monitor.f90
    302 ! Time                 : Fri Mar  8 19:01:03 2019
    303 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     302! Time                 : Fri Mar 15 12:08:06 2019
     303! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    304304! Equation file        : chem_gasphase_mod.kpp
    305305! Output root filename : chem_gasphase_mod
     
    362362!
    363363! File                 : chem_gasphase_mod_Initialize.f90
    364 ! Time                 : Fri Mar  8 19:01:03 2019
    365 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     364! Time                 : Fri Mar 15 12:08:06 2019
     365! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    366366! Equation file        : chem_gasphase_mod.kpp
    367367! Output root filename : chem_gasphase_mod
     
    388388!
    389389! File                 : chem_gasphase_mod_Integrator.f90
    390 ! Time                 : Fri Mar  8 19:01:03 2019
    391 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     390! Time                 : Fri Mar 15 12:08:06 2019
     391! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    392392! Equation file        : chem_gasphase_mod.kpp
    393393! Output root filename : chem_gasphase_mod
     
    446446!
    447447! File                 : chem_gasphase_mod_LinearAlgebra.f90
    448 ! Time                 : Fri Mar  8 19:01:03 2019
    449 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     448! Time                 : Fri Mar 15 12:08:06 2019
     449! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    450450! Equation file        : chem_gasphase_mod.kpp
    451451! Output root filename : chem_gasphase_mod
     
    473473!
    474474! File                 : chem_gasphase_mod_Jacobian.f90
    475 ! Time                 : Fri Mar  8 19:01:03 2019
    476 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     475! Time                 : Fri Mar 15 12:08:06 2019
     476! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    477477! Equation file        : chem_gasphase_mod.kpp
    478478! Output root filename : chem_gasphase_mod
     
    500500!
    501501! File                 : chem_gasphase_mod_Function.f90
    502 ! Time                 : Fri Mar  8 19:01:03 2019
    503 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     502! Time                 : Fri Mar 15 12:08:06 2019
     503! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    504504! Equation file        : chem_gasphase_mod.kpp
    505505! Output root filename : chem_gasphase_mod
     
    529529!
    530530! File                 : chem_gasphase_mod_Rates.f90
    531 ! Time                 : Fri Mar  8 19:01:03 2019
    532 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     531! Time                 : Fri Mar 15 12:08:06 2019
     532! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    533533! Equation file        : chem_gasphase_mod.kpp
    534534! Output root filename : chem_gasphase_mod
     
    555555!
    556556! File                 : chem_gasphase_mod_Util.f90
    557 ! Time                 : Fri Mar  8 19:01:03 2019
    558 ! Working directory    : /home/forkel-r/palmstuff/work/trunk20190308/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
     557! Time                 : Fri Mar 15 12:08:06 2019
     558! Working directory    : /home/forkel-r/palmstuff/work/trunk20190315/UTIL/chemistry/gasphase_preproc/tmp_kpp4palm
    559559! Equation file        : chem_gasphase_mod.kpp
    560560! Output root filename : chem_gasphase_mod
     
    670670  END INTERFACE        chem_gasphase_integrate
    671671 
     672 
     673  ! openmp directives generated by kp4
     674 
     675  !$OMP THREADPRIVATE (vl, vl_glo, is, ie, data_loaded)
     676  !$OMP THREADPRIVATE (c, var, fix, rconst, time, temp, stepmin, cfactor)
     677  !$OMP THREADPRIVATE (qvap, fakt, cs_mech, a, icntrl, rcntrl)
    672678 
    673679 CONTAINS
     
    23082314  IF (PRESENT (rcntrl_i)) rcntrl  = rcntrl_i                     
    23092315                                                                   
     2316  var => c(1:nvar)                                                 
     2317                                                                   
    23102318  vl_glo = size(tempi, 1)                                           
    23112319                                                                   
  • palm/trunk/SOURCE/prognostic_equations.f90

    r3771 r3797  
    2525! -----------------
    2626! $Id$
     27! Call chem_integegrate in OpenMP loop   (ketelsen)
     28!
     29!
     30! 3771 2019-02-28 12:19:33Z raasch
    2731! preprocessor directivs fro rrtmg added
    2832!
     
    527531             CALL photolysis_control
    528532          ENDIF
    529           DO  i = nxl, nxr
    530              DO  j = nys, nyn
    531 
    532                 IF ( intermediate_timestep_count == 1 .OR.                        &
    533                      call_chem_at_all_substeps )  THEN
    534 
    535                    CALL cpu_log( log_point_s(19), 'chem.reactions', 'start' ) 
     533
     534          IF ( intermediate_timestep_count == 1 .OR.                        &
     535             call_chem_at_all_substeps )  THEN
     536
     537             CALL cpu_log( log_point_s(19), 'chem.reactions', 'start' )
     538             !$OMP PARALLEL PRIVATE (i,j)
     539             !$OMP DO schedule(static,1)
     540             DO  i = nxl, nxr
     541                DO  j = nys, nyn
    536542                   CALL chem_integrate (i,j)
    537                    CALL cpu_log( log_point_s(19), 'chem.reactions', 'stop' )
    538 
    539                    IF ( do_depo )  THEN
    540                       CALL cpu_log( log_point_s(24), 'chem.deposition', 'start' )
     543                ENDDO
     544             ENDDO
     545             !$OMP END PARALLEL
     546             CALL cpu_log( log_point_s(19), 'chem.reactions', 'stop' )
     547
     548             IF ( do_depo )  THEN
     549                CALL cpu_log( log_point_s(24), 'chem.deposition', 'start' )
     550                DO  i = nxl, nxr
     551                   DO  j = nys, nyn
    541552                      CALL chem_depo(i,j)
    542                       CALL cpu_log( log_point_s(24), 'chem.deposition', 'stop' )
    543                    ENDIF
    544                 ENDIF
    545              ENDDO
    546           ENDDO
     553                   ENDDO
     554                ENDDO
     555                CALL cpu_log( log_point_s(24), 'chem.deposition', 'stop' )
     556             ENDIF
     557          ENDIF
    547558       ENDIF
    548559!
Note: See TracChangeset for help on using the changeset viewer.