home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.fortran      Putting John Backus on a giant pedestal      5,127 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 4,773 of 5,127   
   Lynn McGuire to Thomas Koenig   
   Re: Is there a way in Fortran to designa   
   22 Oct 24 00:07:41   
   
   From: lynnmcguire5@gmail.com   
      
   On 10/21/2024 12:41 AM, Thomas Koenig wrote:   
   > Lynn McGuire  schrieb:   
   >   
   >> I include all of my common blocks as files to stop typos.   
   >   
   > That is surely an old technique, but only really works to 100%   
   > if you adhere to some additional style constraints in your code.   
   >   
   > Consider   
   >   
   > foo.f:   
   >   
   >        DIMENSION A(10)   
   >        INCLUDE "common.inc"   
   >   
   > bar.f:   
   >   
   >        INCLUDE "common.inc"   
   >   
   > (without the DIMENSION)   
   >   
   > common.inc:   
   >   
   >        COMMON /COMMON/ A   
      
   Here is one of my 197 common block include files, global.inc:   
      
   C  global.inc   
   C   
   C   
   C  11/21/19  Lynn McGuire  pmr 6299, add new ncp max used variable for   
   chemtran   
   C  11/14/19  CPO  PMR 6299 - Add global_aqueous_keyk   
   C  07/05/19  Lynn McGuire  pmr 6036, add do not call solid isothermal flash   
   C  08/08/18  Lynn McGuire  pmr 6308, add spreadsheet unit module   
   C  08/24/17  Lynn McGuire  add max lkey constant   
   C  03/15/17  Lynn McGuire  pmr 6265, add stream print around unit module   
   calls   
   C  03/18/15  Lynn McGuire  add next simulation time   
   C  09/30/14  CPO  PMR 6090 - Add num_crude_streams   
   C  08/15/14  Lynn McGuire  add max line segments parameter   
   C  07/18/14  Lynn McGuire  move oneline to dii.inc   
   C  03/10/14  Lynn McGuire  add new thermo failure logical   
   C  08/01/12  Lynn McGuire  add stream specs to the common area   
   C  12/06/11  Lynn McGuire  remove max_kvalue_methods   
   C  01/07/11  Lynn McGuire  increase max equips to 56 for tank and add   
   time variables   
   C  10/14/10  CPO  Added logicals do_not_call_liqh, do_not_call_vaph.   
   C  10/05/10  CPO  Added logicals do_not_call_threephs and do_not_call_flai.   
   C  12/29/09  CPO  PMR 5486 - Added logical lrespect_user_pitch.   
   C  11/10/09  CPO  Moved ne_did_not_converge and equipment_fail_count from   
   C                 global.inc to here so that we can use max_nodes to   
   C                 size the ne_did_not_converge array.   
   C  06/29/09  Michael McGuire  removed SUBGL*   
   C  04/17/09  Lynn McGuire  add new logicals for telling us when to use and   
   C                             when not to use lnolimit   
   C  11/20/08  Lynn McGuire  add oneline   
   C  11/07/08  Lynn McGuire  add max_kvalue_methods   
   C  08/11/08  Lynn McGuire  add max_components and max_nodes   
   C  07/17/08  Colin Sturm   PMR 4920 - increased max_equip_types (+1) to 55   
   C                          to make room for new equipment module steam   
   ejector   
   C  07/17/08  Colin Sturm   PMR 4213 - increased max_equip_types (+1) to 54   
   C                          to make room for new equipment module packed   
   column   
   C  12/19/07  GDF  Added LNOLIMIT which turns off ADBF initial limit tests   
   C                 for refine in FDATA, which calls ADBF.   
   C  07/23/07  Lynn McGuire  change tblbnm to char*4   
   C  08/04/06  Lynn McGuire  add max_equip_types   
   C  07/31/06  Binh  Declared IDCOMSKD as integer   
   C  07/24/06  Binh  Declared max_ncp as integer   
   C  09/24/04  Lynn McGuire  cut global into two common blocks to get rid   
   of alignment errors   
   C   03 Feb 04  GDF Added IDCOMSKD to common so available in LNCODE (set   
   IDKINT)   
   C   22-Mar-89  W. E. Hensley, Jr.  (PMR 2498)   
   C       Equivalenced TBLBNM to NERZZZ for 386 DOS security code.   
   C  07/30/96  Lynn McGuire  removed IFBL1, IFBL2, IFBL3 from here   
   C                          and from MKBL.F, AMOCO.F, EQUIP.F   
   C  07/20/00  Lynn McGuire  added max_ncp   
   C  04/11/02  Lynn McGuire  add globalfilenames common block   
   C  11/01/02  Lynn McGuire  add streamfilename   
      
      
      
   C   ne_did_not_converge - set in scan.f, and used to indicate failure of   
   unit   
   C                         modules.  There are a maximum of max_nodes unit   
   C                         modules allowed in DesignII.   
   C   equipment_fail_count - the number of equipment modules that have failed.   
   C   thermo_init_failed - true if thermo_init_failed and should stop   
   calculations   
   C   print_streams_for_each_unit - print curent inlet and outlet stream   
   conditions   
   C                                 before and after each unit module call   
   C   max_lkey - this is for the LKEY bank size   
      
      
          integer MAX_NCP   
          PARAMETER (MAX_NCP = 1000)   
      
          integer max_equip_types   
          parameter (max_equip_types = 57)   
      
          integer max_components   
          parameter (max_components = 9999)   
      
          integer max_nodes   
          parameter (max_nodes = 9999)   
      
          integer max_lkey   
          parameter (max_lkey = 32)   
      
   C        aqueous phase thermo kvalue, used in flai, adbf, and threephs   
   C          20 is apisou, the current number   
          integer global_aqueous_keyk   
          parameter (global_aqueous_keyk = 20)   
      
      
      
          COMMON / GLOBAL / KTRACE, NCP, SETSTP, NDYNER, NERQQQ, LNOLIMIT,   
         *                  do_not_call_pivf, do_not_call_adbf,   
         *                  ne_did_not_converge, equipment_fail_count,   
         *                  lrespect_user_pitch, do_not_call_threephs,   
         *                  do_not_call_flai, do_not_call_liqh,   
         *                  do_not_call_vaph, thermo_init_failed,   
         *                  num_crude_streams, print_streams_for_each_unit,   
         *                  do_not_call_solid_isothermal_flash,   
         *                  ncp_max_used   
      
          integer KTRACE   
          integer NCP   
          logical SETSTP   
          integer NDYNER   
          integer NERQQQ   
          integer num_crude_streams   
          logical LNOLIMIT   
          logical do_not_call_pivf   
          logical do_not_call_adbf   
          logical lrespect_user_pitch   
          logical do_not_call_threephs   
          logical do_not_call_flai   
          logical do_not_call_liqh   
          logical do_not_call_vaph   
          logical thermo_init_failed   
          logical print_streams_for_each_unit   
          logical do_not_call_solid_isothermal_flash   
   C        this is to record the ncp max used for chemtran since it   
   changes ncp on the fly   
          integer ncp_max_used   
      
      
      
      
          COMMON / GLOBAL1 / TBLBNM, IDCOMSKD   
      
          character*4 TBLBNM   
          integer IDCOMSKD   
      
          integer ne_did_not_converge (max_nodes)   
          integer equipment_fail_count   
      
      
      
      
      
          COMMON / GlobalFilenames / ChemTranDataFile, StreamDataFile,   
         1                           RefineRestartFile   
      
          Character*1024 ChemTranDataFile   
          Character*1024 StreamDataFile   
          Character*1024 RefineRestartFile   
      
      
      
      
      
          common / globalTimeSettings / current_simulation_time,   
         *                              maximum_simulation_time,   
         *                              simulation_time_step,   
         *                              last_simulation_time,   
         *                              next_simulation_time   
      
   C        current time in hours   
          double precision current_simulation_time   
   C        the last current time in hours   
          double precision last_simulation_time   
      
   [continued in next message]   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca