KineticPreProcessor / KPP

The KPP kinetic preprocessor is a software tool that assists the computer simulation of chemical kinetic systems
GNU General Public License v3.0
21 stars 11 forks source link

[PULL REQUEST] Replace EQUIVALENCE with pointer assignments -- Closes #27 #32

Closed yantosca closed 2 years ago

yantosca commented 2 years ago

This PR corresponds to feature request #27. For Fortran-90 only, we have removed the EQUIVALENCE statement in the _Global module and have replaced that with pointer assignments.

  1. Global variable C is now declared with the TARGET attrbitue
  2. Global variables VAR and FIX are now declared with the POINTER attribute.
  3. VAR and FIX are now assigned and nullified in each integrator routine int/*.f90
  4. In drv/driver_tlm.f90 and drv/driver_adj.f90, replace VAR with C(1:NVAR).
  5. Modified the KPP C routines to pass an additional argument to DefineVariable that is used to determine if a variable is a F90 pointer or target.
  6. Updated comments and cleaned up code, especially in int/*.f90.
yantosca commented 2 years ago

Oops, I have this listed as going into main but it should go into dev.

RolfSander commented 2 years ago

I don't know if the target branch can be changed. Probably not. Maybe it's easiest to close this PR and create a new one.

yantosca commented 2 years ago

Replaced by #33