Ignore:
Timestamp:
Feb 12, 2019, 3:07:22 PM (6 years ago)
Author:
jvatant
Message:

Fix a problem of interoperability C-Fortran for picky compilers.
Using iso_c_binding could be a smart future improvement to bring.
--JVO

Location:
trunk/LMDZ.TITAN/libf/chimtitan
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.TITAN/libf/chimtitan/chimie.c

    r3 r2099  
    1313   double  ai,ao,ei,eo,ki,ko,m,ti,to;
    1414   FILE   *out;
    15    char   corps[100][10];
    1615   static char   reaction[NREAC+1][12][10]={
    1716#include VERCHIM
    1817   "",       "",       "",       "",     "",  "","","","","","",""};
    19 
    20    for( i = 0; i <= NC; i++)
    21    {
    22      strcpy( corps[i], CORPS[i] );
    23      corps[i][strcspn(CORPS[i], " ")] = '\0';
    24    }
    2518
    2619   for( i = 0; i <= NC-1; i++ )
     
    4033          && (strcmp(reaction[i][j],""))     ) /* Which compound ? */
    4134         {
    42             while( strcmp(reaction[i][j],corps[k]) )     /* Compound in reaction j, column i */
     35            while( strcmp(reaction[i][j],CORPS[k]) )     /* Compound in reaction j, column i */
    4336            {
    4437               if( k == NC+1 )
  • trunk/LMDZ.TITAN/libf/chimtitan/comp.c

    r1126 r2099  
    88{
    99   int   i,j;
    10    char  corps[NC+1][10];
    1110
    1211   double m,ma,epsa,sig,siga,p;
     
    1918   siga = 3.798e0;         /* Lennard-Jones length of background gas 1/10 nm */
    2019   epsa = 71.4e0;       /* Lennard-Jones energy of background gas */
    21 
    22    for( i = 0; i <= NC; i++)
    23    {
    24      strcpy( corps[i], CORPS[i] );
    25      corps[i][strcspn(CORPS[i], " ")] = '\0';
    26    }
    2720
    2821   for( i = 0; i <= NC-1; i++)
     
    3326   for( i = 0; i <= NC-1; i++ )
    3427   {
    35       if( strcmp(corps[i], "CH4") == 0 )
     28      if( strcmp(CORPS[i], "CH4") == 0 )
    3629      {
    3730         MASS[i] = 16.04e0;
     
    4235           / ( CT[j] * sig * omega(TEMP[j],epsa,148.6e0) );
    4336      }
    44       if( strcmp(corps[i], "H") == 0 )
     37      if( strcmp(CORPS[i], "H") == 0 )
    4538      {
    4639         MASS[i] = 1.01e0;
    4740      }
    48       if( strcmp(corps[i], "H2") == 0 )
     41      if( strcmp(CORPS[i], "H2") == 0 )
    4942      {
    5043         MASS[i] = 2.0158e0;
     
    5548           / ( CT[j] * sig * omega(TEMP[j],epsa,59.7e0) );
    5649      }
    57       if( strcmp(corps[i], "CH") == 0 )
     50      if( strcmp(CORPS[i], "CH") == 0 )
    5851      {
    5952         MASS[i] = 13.02e0;
     
    6356            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    6457      }
    65       if( ( strcmp( corps[i], "CH2" ) == 0 ) || ( strcmp( corps[i], "CH2s" ) == 0 ) )
     58      if( ( strcmp( CORPS[i], "CH2" ) == 0 ) || ( strcmp( CORPS[i], "CH2s" ) == 0 ) )
    6659      {
    6760         MASS[i] = 14.03e0;
     
    7164            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    7265      }
    73       if( strcmp(corps[i], "CH3") == 0 )
     66      if( strcmp(CORPS[i], "CH3") == 0 )
    7467      {
    7568         MASS[i] = 15.03e0;
     
    7972            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    8073      }
    81       if( strcmp(corps[i], "C") == 0 )
     74      if( strcmp(CORPS[i], "C") == 0 )
    8275      {
    8376         MASS[i] = 12.01e0;
     
    8780            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    8881      }
    89       if( strcmp(corps[i], "C2") == 0 )
     82      if( strcmp(CORPS[i], "C2") == 0 )
    9083      {
    9184         MASS[i] = 24.02e0;
     
    9588            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    9689      }
    97       if( strcmp(corps[i], "C2H") == 0 )
     90      if( strcmp(CORPS[i], "C2H") == 0 )
    9891      {
    9992         MASS[i] = 25.03e0;
     
    10396            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    10497      }
    105       if( strcmp(corps[i], "C2H3") == 0 )
     98      if( strcmp(CORPS[i], "C2H3") == 0 )
    10699      {
    107100         MASS[i] = 27.05e0;
     
    111104            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    112105      }
    113       if( strcmp(corps[i], "C2H4") == 0 )
     106      if( strcmp(CORPS[i], "C2H4") == 0 )
    114107      {
    115108         MASS[i] = 28.05e0;
     
    120113           / ( CT[j] * sig * omega(TEMP[j],epsa,224.7e0) );
    121114      }
    122       if( strcmp(corps[i], "C2H2") == 0 )
     115      if( strcmp(CORPS[i], "C2H2") == 0 )
    123116      {
    124117         MASS[i] = 26.04e0;
     
    129122           / ( CT[j] * sig * omega(TEMP[j],epsa,231.8e0) );
    130123      }
    131       if( strcmp(corps[i], "C2H5") == 0 )
     124      if( strcmp(CORPS[i], "C2H5") == 0 )
    132125      {
    133126         MASS[i] = 29.06e0;
     
    137130            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    138131      }
    139       if( strcmp(corps[i], "C2H6") == 0 )
     132      if( strcmp(CORPS[i], "C2H6") == 0 )
    140133      {
    141134         MASS[i] = 30.07e0;
     
    146139           / ( CT[j] * sig * omega(TEMP[j],epsa,215.7e0) );
    147140      }
    148       if( strcmp(corps[i], "C3H2") == 0 )
     141      if( strcmp(CORPS[i], "C3H2") == 0 )
    149142      {
    150143         MASS[i] = 38.05e0;
     
    154147            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    155148      }
    156       if( strcmp(corps[i], "C3H3") == 0 )
     149      if( strcmp(CORPS[i], "C3H3") == 0 )
    157150      {
    158151         MASS[i] = 39.06e0;
     
    162155            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    163156      }
    164       if( ( strcmp(corps[i], "CH2CCH2") == 0 ) || ( strcmp(corps[i], "CH3CCH") == 0 ) )
     157      if( ( strcmp(CORPS[i], "CH2CCH2") == 0 ) || ( strcmp(CORPS[i], "CH3CCH") == 0 ) )
    165158      {
    166159         MASS[i] = 40.07e0;
     
    171164           / ( CT[j] * sig * omega(TEMP[j],epsa,251.8e0) );
    172165      }
    173       if( strcmp(corps[i], "C3H5") == 0 )
     166      if( strcmp(CORPS[i], "C3H5") == 0 )
    174167      {
    175168         MASS[i] = 41.07e0;
     
    179172            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    180173      }
    181       if( strcmp(corps[i], "C3H6") == 0 )
     174      if( strcmp(CORPS[i], "C3H6") == 0 )
    182175      {
    183176         MASS[i] = 42.08e0;
     
    188181           / ( CT[j] * sig * omega(TEMP[j],epsa,248.9e0) );
    189182      }
    190       if( strcmp(corps[i], "C3H7") == 0 )
     183      if( strcmp(CORPS[i], "C3H7") == 0 )
    191184      {
    192185         MASS[i] = 43.09e0;
     
    196189            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    197190       }
    198       if( strcmp(corps[i], "C3H8") == 0 )
     191      if( strcmp(CORPS[i], "C3H8") == 0 )
    199192      {
    200193         MASS[i] = 44.11e0;
     
    205198           / ( CT[j] * sig * omega(TEMP[j],epsa,237.1e0) );
    206199      }
    207       if( strcmp(corps[i], "C4H") == 0 )
     200      if( strcmp(CORPS[i], "C4H") == 0 )
    208201      {
    209202         MASS[i] = 49.05e0;
     
    213206            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    214207      }
    215       if( ( strcmp(corps[i], "C4H2") == 0 )||( strcmp(corps[i], "C4H2s") == 0 ) )
     208      if( ( strcmp(CORPS[i], "C4H2") == 0 )||( strcmp(CORPS[i], "C4H2s") == 0 ) )
    216209      {
    217210         MASS[i] = 50.06e0;
     
    221214            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    222215      }
    223       if( strcmp(corps[i], "C4H3") == 0 )
     216      if( strcmp(CORPS[i], "C4H3") == 0 )
    224217      {
    225218         MASS[i] = 51.07e0;
     
    229222            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    230223      }
    231       if( strcmp(corps[i], "C4H4") == 0 )
     224      if( strcmp(CORPS[i], "C4H4") == 0 )
    232225      {
    233226         MASS[i] = 52.08e0;
     
    237230            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    238231      }
    239       if( strcmp(corps[i], "C4H5") == 0 )
     232      if( strcmp(CORPS[i], "C4H5") == 0 )
    240233      {
    241234         MASS[i] = 53.07e0;
     
    245238            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    246239      }
    247       if( strcmp(corps[i], "C4H6") == 0 )
     240      if( strcmp(CORPS[i], "C4H6") == 0 )
    248241      {
    249242         MASS[i] = 54.09e0;
     
    253246            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    254247      }
    255       if( strcmp(corps[i], "C4H10") == 0 )
     248      if( strcmp(CORPS[i], "C4H10") == 0 )
    256249      {
    257250         MASS[i] = 58.13e0;
     
    262255           / ( CT[j] * sig * omega(TEMP[j],epsa,531.4e0) );
    263256      }
    264       if( strcmp(corps[i], "C6H") == 0 )
     257      if( strcmp(CORPS[i], "C6H") == 0 )
    265258      {
    266259         MASS[i] = 73.07e0;
     
    270263            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    271264      }
    272       if( strcmp(corps[i], "C6H2") == 0 )
     265      if( strcmp(CORPS[i], "C6H2") == 0 )
    273266      {
    274267         MASS[i] = 74.08e0;
     
    278271            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    279272      }
    280       if( strcmp(corps[i], "C8H2") == 0 )
     273      if( strcmp(CORPS[i], "C8H2") == 0 )
    281274      {
    282275         MASS[i] = 98.10e0;
     
    286279            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    287280      }
    288       if( strcmp( corps[i], "AC6H6" ) == 0 )
     281      if( strcmp( CORPS[i], "AC6H6" ) == 0 )
    289282      {
    290283         MASS[i] = 78.1136e0;
     
    294287            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    295288      }
    296       if( ( strcmp( corps[i], "C6H5" ) == 0 ) || ( strcmp( corps[i], "AC6H5" ) == 0 ) )
     289      if( ( strcmp( CORPS[i], "C6H5" ) == 0 ) || ( strcmp( CORPS[i], "AC6H5" ) == 0 ) )
    297290      {
    298291         MASS[i] = 77.1136e0;
     
    302295            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    303296      }
    304       if( strcmp( corps[i], "C6H6" ) == 0 )
     297      if( strcmp( CORPS[i], "C6H6" ) == 0 )
    305298      {
    306299         MASS[i] = 78.1136e0;
     
    310303            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    311304      }
    312       if( strcmp(corps[i], "N2") == 0 )
     305      if( strcmp(CORPS[i], "N2") == 0 )
    313306      {
    314307         MASS[i] = 28.0134e0;
    315308      }
    316       if( strcmp(corps[i], "N4S") == 0 )
     309      if( strcmp(CORPS[i], "N4S") == 0 )
    317310      {
    318311         MASS[i] = 14.01e0;
     
    322315            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    323316      }
    324       if( strcmp(corps[i], "NH") == 0 )
     317      if( strcmp(CORPS[i], "NH") == 0 )
    325318      {
    326319         MASS[i] = 15.01e0;
     
    330323            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    331324      }
    332       if( strcmp(corps[i], "CN") == 0 )
     325      if( strcmp(CORPS[i], "CN") == 0 )
    333326      {
    334327         MASS[i] = 26.02e0;
     
    338331            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    339332      }
    340       if( strcmp(corps[i], "HCN") == 0 )
     333      if( strcmp(CORPS[i], "HCN") == 0 )
    341334      {
    342335         MASS[i] = 27.04e0;
     
    347340           / ( CT[j] * sig * omega(TEMP[j],epsa,569.1e0) );
    348341      }
    349       if( strcmp(corps[i], "H2CN") == 0 )
     342      if( strcmp(CORPS[i], "H2CN") == 0 )
    350343      {
    351344         MASS[i] = 28.05e0;
     
    355348            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    356349      }
    357       if( strcmp(corps[i], "C2N") == 0 )         /* C2N */
     350      if( strcmp(CORPS[i], "C2N") == 0 )         /* C2N */
    358351      {
    359352         MASS[i] = 39.05e0;
     
    363356            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    364357      }
    365       if( strcmp( corps[i], "CHCN" ) == 0 )
     358      if( strcmp( CORPS[i], "CHCN" ) == 0 )
    366359      {
    367360         MASS[i]   = 39.05e0;
     
    371364            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    372365      }
    373       if( strcmp( corps[i], "CH2CN" ) == 0 )
     366      if( strcmp( CORPS[i], "CH2CN" ) == 0 )
    374367      {
    375368         MASS[i]   = 40.04e0;
     
    379372            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    380373      }
    381       if( strcmp( corps[i], "CH3CN" ) == 0 )
     374      if( strcmp( CORPS[i], "CH3CN" ) == 0 )
    382375      {
    383376         MASS[i]   = 41.05e0;
     
    387380            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    388381      }
    389       if( strcmp( corps[i], "C2H3CN" ) == 0 )
     382      if( strcmp( CORPS[i], "C2H3CN" ) == 0 )
    390383      {
    391384         MASS[i]   = 53.06e0;
     
    395388            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    396389      }
    397       if( strcmp(corps[i], "NCCN") == 0 )        /* NCCN */
     390      if( strcmp(CORPS[i], "NCCN") == 0 )        /* NCCN */
    398391      {
    399392         MASS[i] = 52.04e0;
     
    404397           / ( CT[j] * sig * omega(TEMP[j],epsa,348.6e0) );
    405398      }
    406       if( strcmp(corps[i], "C3N") == 0 )         /* C3N */
     399      if( strcmp(CORPS[i], "C3N") == 0 )         /* C3N */
    407400      {
    408401         MASS[i] = 50.04e0;
     
    412405            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    413406      }
    414       if( strcmp(corps[i], "HC3N") == 0 )        /* HC3N */
     407      if( strcmp(CORPS[i], "HC3N") == 0 )        /* HC3N */
    415408      {
    416409         MASS[i] = 51.05e0;
     
    420413            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    421414      }
    422       if( strcmp( corps[i], "C4N2" ) == 0 )
     415      if( strcmp( CORPS[i], "C4N2" ) == 0 )
    423416      {
    424417         MASS[i]   = 76.1e0;
     
    428421            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    429422      }
    430       if( strcmp(corps[i], "H2O") == 0 )       
     423      if( strcmp(CORPS[i], "H2O") == 0 )       
    431424      {
    432425         MASS[i] = 18.02e0;
     
    437430           / ( CT[j] * sig * omega(TEMP[j],epsa,809.1e0) );
    438431      }
    439       if( ( strcmp(corps[i], "O3P") == 0 ) || ( strcmp(corps[i], "O1D") == 0 ) )     
     432      if( ( strcmp(CORPS[i], "O3P") == 0 ) || ( strcmp(CORPS[i], "O1D") == 0 ) )     
    440433      {
    441434         MASS[i] = 16.0e0;
     
    445438            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    446439      }
    447       if( strcmp(corps[i], "OH") == 0 )       
     440      if( strcmp(CORPS[i], "OH") == 0 )       
    448441      {
    449442         MASS[i] = 17.01e0;
     
    453446            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    454447      }
    455       if( strcmp(corps[i], "HO2") == 0 )
     448      if( strcmp(CORPS[i], "HO2") == 0 )
    456449      {
    457450         MASS[i] = 33.01e0;
     
    461454            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    462455      }
    463       if( strcmp(corps[i], "H2O2") == 0 )
     456      if( strcmp(CORPS[i], "H2O2") == 0 )
    464457      {
    465458         MASS[i] = 33.01e0;
     
    469462            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    470463      }
    471       if( strcmp(corps[i], "O2") == 0 )
     464      if( strcmp(CORPS[i], "O2") == 0 )
    472465      {
    473466         MASS[i] = 32.0e0;
     
    477470            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    478471      }
    479       if( strcmp(corps[i], "O3") == 0 )
     472      if( strcmp(CORPS[i], "O3") == 0 )
    480473      {
    481474         MASS[i] = 32.0e0;
     
    485478            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    486479      }
    487       if( strcmp(corps[i], "CO") == 0 )         
     480      if( strcmp(CORPS[i], "CO") == 0 )         
    488481      {
    489482         MASS[i] = 28.01e0;
     
    494487           / ( CT[j] * sig * omega(TEMP[j],epsa,91.7e0) );
    495488      }
    496       if( strcmp(corps[i], "HCO") == 0 )       
     489      if( strcmp(CORPS[i], "HCO") == 0 )       
    497490      {
    498491         MASS[i] = 29.02e0;
     
    502495            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    503496      }
    504       if( strcmp(corps[i], "CO2") == 0 )       
     497      if( strcmp(CORPS[i], "CO2") == 0 )       
    505498      {
    506499         MASS[i] = 44.01e0;
     
    511504           / ( CT[j] * sig * omega(TEMP[j],epsa,195.2e0) );
    512505      }
    513       if( strcmp(corps[i], "CH2CO") == 0 )   
     506      if( strcmp(CORPS[i], "CH2CO") == 0 )   
    514507      {
    515508         MASS[i] = 42.04e0;
     
    519512            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    520513      }
    521       if( strcmp(corps[i], "CH2O") == 0 )   
     514      if( strcmp(CORPS[i], "CH2O") == 0 )   
    522515      {
    523516         MASS[i] = 30.03e0;
     
    527520            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    528521      }
    529       if( ( strcmp(corps[i], "CH2OH") == 0 ) || ( strcmp(corps[i], "CH3O") == 0 ) ) 
     522      if( ( strcmp(CORPS[i], "CH2OH") == 0 ) || ( strcmp(CORPS[i], "CH3O") == 0 ) ) 
    530523      {
    531524         MASS[i] = 31.04e0;
     
    535528            MD[i][j] = sqrt( p * TEMP[j] * m ) / ( CT[j] * sig );
    536529      }
    537       if( strcmp(corps[i], "CH3OH") == 0 )       
     530      if( strcmp(CORPS[i], "CH3OH") == 0 )       
    538531      {
    539532         MASS[i] = 32.042e0;
  • trunk/LMDZ.TITAN/libf/chimtitan/gptitan.c

    r1965 r2099  
    1919              int *htoh2, double *surfhaze)
    2020{
    21   char   outlog[100],corps[100][10];
     21  char   outlog[100];
    2222  int    i,j,k,l;
    2323  int    ireac,ncom1,ncom2;
     
    5858#endif
    5959  /**/
    60 
    61   for( i = 0; i <= NC; i++)
    62     {
    63       strcpy( corps[i], CORPS[i] );
    64       corps[i][strcspn(CORPS[i], " ")] = '\0';
    65     }
    6660   
    6761  strcpy( outlog, "chimietitan" );
     
    10599  for( i = 0; i <= ST-1; i++ )
    106100    {
    107       if( strcmp(corps[i], "H"  ) == 0 ) ih   = i;
    108       if( strcmp(corps[i], "H2" ) == 0 ) ih2  = i;
    109       if( strcmp(corps[i], "N2" ) == 0 ) in2  = i;
    110       if( strcmp(corps[i], "N4S") == 0 ) in4s = i;
     101      if( strcmp(CORPS[i], "H"  ) == 0 ) ih   = i;
     102      if( strcmp(CORPS[i], "H2" ) == 0 ) ih2  = i;
     103      if( strcmp(CORPS[i], "N2" ) == 0 ) in2  = i;
     104      if( strcmp(CORPS[i], "N4S") == 0 ) in4s = i;
    111105    }
    112106
     
    160154         fprintf(out,"%d %e %e %e\n",j,(RA[j]-R0),NB[j],TEMP[j]);
    161155         for (i=0;i<=NREAC-1;i++) fprintf(out,"%d %e\n",i,KRATE[i][j]);
    162          for (i=0;i<=ST-1;i++) fprintf(out,"%10s %e\n",corps[i],Y[i][j]);
     156         for (i=0;i<=ST-1;i++) fprintf(out,"%10s %e\n",CORPS[i],Y[i][j]);
    163157         fclose( out );
    164158         }
     
    231225          if( (*aerprod) == 1 )
    232226            {
    233               aer(corps,TEMP,NB,Y,&j,k_dep,faer,
     227              aer(CORPS,TEMP,NB,Y,&j,k_dep,faer,
    234228                  &dyc2h2,&dyhc3n,&dyhcn,&dynccn,&dych3cn,&dyc2h3cn,utilaer,
    235229                  mmolaer,productaer,csurn,csurh);
     
    245239                 printf("AERPROD : LAT = %g - J = %d\n",(*LAT),j);
    246240                 if(fabs(dyc2h2*NB[j])>fabs(fp[utilaer[2]]/10.))
    247                  printf("fp(%s) =%e; dyc2h2 =%e\n",corps[utilaer[2]],
     241                 printf("fp(%s) =%e; dyc2h2 =%e\n",CORPS[utilaer[2]],
    248242                 fp[utilaer[2]],dyc2h2*NB[j]);
    249243                 if(fabs(dyhcn*NB[j])>fabs(fp[utilaer[5]]/10.))
    250                  printf("fp(%s) =%e; dyhcn  =%e\n",corps[utilaer[5]],
     244                 printf("fp(%s) =%e; dyhcn  =%e\n",CORPS[utilaer[5]],
    251245                 fp[utilaer[5]],dyhcn*NB[j]);
    252246                 if(fabs(dyhc3n*NB[j])>fabs(fp[utilaer[6]]/10.))
    253                  printf("fp(%s) =%e; dyhc3n =%e\n",corps[utilaer[6]],
     247                 printf("fp(%s) =%e; dyhc3n =%e\n",CORPS[utilaer[6]],
    254248                 fp[utilaer[6]],dyhc3n*NB[j]);
    255249                 if(fabs(dynccn*NB[j])>fabs(fp[utilaer[13]]/10.))
    256                  printf("fp(%s) =%e; dynccn =%e\n",corps[utilaer[13]],
     250                 printf("fp(%s) =%e; dynccn =%e\n",CORPS[utilaer[13]],
    257251                 fp[utilaer[13]],dynccn*NB[j]);
    258252                 if(fabs(dych3cn*NB[j])>fabs(fp[utilaer[14]]/10.))
    259                  printf("fp(%s) =%e; dych3cn=%e\n",corps[utilaer[14]],
     253                 printf("fp(%s) =%e; dych3cn=%e\n",CORPS[utilaer[14]],
    260254                 fp[utilaer[14]],dych3cn*NB[j]);
    261255                 if(fabs(dyc2h3cn*NB[j])>fabs(fp[utilaer[15]]/10.))
    262                  printf("fp(%s) =%e; dyc2h3cn=%e\n",corps[utilaer[15]],
     256                 printf("fp(%s) =%e; dyc2h3cn=%e\n",CORPS[utilaer[15]],
    263257                 fp[utilaer[15]],dyc2h3cn*NB[j]);
    264258              */
     
    289283          if( (*htoh2) == 1 )
    290284            {
    291               heterohtoh2(corps,TEMP,NB,Y,surfhaze,&j,&dyh,&dyh2,utilaer);
     285              heterohtoh2(CORPS,TEMP,NB,Y,surfhaze,&j,&dyh,&dyh2,utilaer);
    292286              /* dyh <= 0 / 1.0 en adsor., 1 en reac. */
    293287
     
    295289                 printf("HTOH2 : LAT = %g - J = %d\n",(*LAT),j);
    296290                 if(fabs(dyh*NB[j])>fabs(fp[utilaer[0]]/10.))
    297                  printf("fp(%s) = %e; dyh  = %e\n",corps[utilaer[0]],fp[utilaer[0]],dyh*NB[j]);
     291                 printf("fp(%s) = %e; dyh  = %e\n",CORPS[utilaer[0]],fp[utilaer[0]],dyh*NB[j]);
    298292                 if(fabs(dyh2*NB[j])>fabs(fp[utilaer[1]]/10.))
    299                  printf("fp(%s) = %e; dyh2 = %e\n",corps[utilaer[1]],fp[utilaer[1]],dyh2*NB[j]);
     293                 printf("fp(%s) = %e; dyh2 = %e\n",CORPS[utilaer[1]],fp[utilaer[1]],dyh2*NB[j]);
    300294              */
    301295
     
    527521                    out = fopen( outlog, "a" );
    528522                    fprintf( out, "Latitude %g;", (*LAT));
    529                     fprintf(out, " alt:%e; %s %e %e ; %e %e\n",(RA[j]-R0),corps[i],ym1[i],Y[i][j],time,delta);
     523                    fprintf(out, " alt:%e; %s %e %e ; %e %e\n",(RA[j]-R0),CORPS[i],ym1[i],Y[i][j],time,delta);
    530524                    fclose( out );
    531525                    }
     
    546540                  out = fopen( outlog, "a" );
    547541                  fprintf( out, "WARNING %s mixing ratio is %e %e at %d\n",
    548                            corps[i], ym1[i], Y[i][j], j );
     542                           CORPS[i], ym1[i], Y[i][j], j );
    549543                  for( k = 0; k <= NLEV-1; k++ ) fprintf( out, "%d %e %e\n",k,ym1[i],Y[i][k] );
    550544                  fclose( out );
     
    669663            if( (*aerprod) == 1 )
    670664              {
    671                 aer(corps,TEMP,NB,Y,&j,k_dep,faer,
     665                aer(CORPS,TEMP,NB,Y,&j,k_dep,faer,
    672666                    &dyc2h2,&dyhc3n,&dyhcn,&dynccn,&dych3cn,&dyc2h3cn,utilaer,
    673667                    mmolaer,productaer,csurn,csurh);
     
    683677                   printf("AERPROD : LAT = %g - J = %d\n",(*LAT),j);
    684678                   if(fabs(dyc2h2*NB[j])>fabs(fp[utilaer[2]]/10.))
    685                    printf("fp(%s) =%e; dyc2h2 =%e\n",corps[utilaer[2]],
     679                   printf("fp(%s) =%e; dyc2h2 =%e\n",CORPS[utilaer[2]],
    686680                   fp[utilaer[2]],dyc2h2*NB[j]);
    687681                   if(fabs(dyhcn*NB[j])>fabs(fp[utilaer[5]]/10.))
    688                    printf("fp(%s) =%e; dyhcn  =%e\n",corps[utilaer[5]],
     682                   printf("fp(%s) =%e; dyhcn  =%e\n",CORPS[utilaer[5]],
    689683                   fp[utilaer[5]],dyhcn*NB[j]);
    690684                   if(fabs(dyhc3n*NB[j])>fabs(fp[utilaer[6]]/10.))
    691                    printf("fp(%s) =%e; dyhc3n =%e\n",corps[utilaer[6]],
     685                   printf("fp(%s) =%e; dyhc3n =%e\n",CORPS[utilaer[6]],
    692686                   fp[utilaer[6]],dyhc3n*NB[j]);
    693687                   if(fabs(dynccn*NB[j])>fabs(fp[utilaer[13]]/10.))
    694                    printf("fp(%s) =%e; dynccn =%e\n",corps[utilaer[13]],
     688                   printf("fp(%s) =%e; dynccn =%e\n",CORPS[utilaer[13]],
    695689                   fp[utilaer[13]],dynccn*NB[j]);
    696690                   if(fabs(dych3cn*NB[j])>fabs(fp[utilaer[14]]/10.))
    697                    printf("fp(%s) =%e; dych3cn=%e\n",corps[utilaer[14]],
     691                   printf("fp(%s) =%e; dych3cn=%e\n",CORPS[utilaer[14]],
    698692                   fp[utilaer[14]],dych3cn*NB[j]);
    699693                   if(fabs(dyc2h3cn*NB[j])>fabs(fp[utilaer[15]]/10.))
    700                    printf("fp(%s) =%e; dyc2h3cn=%e\n",corps[utilaer[15]],
     694                   printf("fp(%s) =%e; dyc2h3cn=%e\n",CORPS[utilaer[15]],
    701695                   fp[utilaer[15]],dyc2h3cn*NB[j]);
    702696                */
     
    727721            if( (*htoh2) == 1 )
    728722              {
    729                 heterohtoh2(corps,TEMP,NB,Y,surfhaze,&j,&dyh,&dyh2,utilaer);
     723                heterohtoh2(CORPS,TEMP,NB,Y,surfhaze,&j,&dyh,&dyh2,utilaer);
    730724                /* dyh <= 0 / 1.0 en adsor., 1 en reac. */
    731725
     
    733727                   printf("HTOH2 : LAT = %g - J = %d\n",(*LAT),j);
    734728                   if(fabs(dyh*NB[j])>fabs(fp[utilaer[0]]/10.))
    735                    printf("fp(%s) = %e; dyh  = %e\n",corps[utilaer[0]],fp[utilaer[0]],dyh*NB[j]);
     729                   printf("fp(%s) = %e; dyh  = %e\n",CORPS[utilaer[0]],fp[utilaer[0]],dyh*NB[j]);
    736730                   if(fabs(dyh2*NB[j])>fabs(fp[utilaer[1]]/10.))
    737                    printf("fp(%s) = %e; dyh2 = %e\n",corps[utilaer[1]],fp[utilaer[1]],dyh2*NB[j]);
     731                   printf("fp(%s) = %e; dyh2 = %e\n",CORPS[utilaer[1]],fp[utilaer[1]],dyh2*NB[j]);
    738732                */
    739733
     
    817811                          out = fopen( outlog, "a" );
    818812                          fprintf( out, "Latitude: %g; declin:%e;", (*LAT), (*DECLIN) );
    819                           fprintf(out, " alt:%e; %s %e %e ; %e %e\n",(RA[j]-R0),corps[i],ym1[i],Y[i][j],time,delta);
     813                          fprintf(out, " alt:%e; %s %e %e ; %e %e\n",(RA[j]-R0),CORPS[i],ym1[i],Y[i][j],time,delta);
    820814                          fclose( out );
    821815                          }
     
    836830                      out = fopen( outlog, "a" );
    837831                      fprintf( out, "WARNING %s mixing ratio is %e %e at %d\n",
    838                                corps[i], ym1[i][j], Y[i][j], j );
     832                               CORPS[i], ym1[i][j], Y[i][j], j );
    839833                      for( k = 0; k <= NLEV-1; k++ ) fprintf( out, "%d %e %e\n",k,ym1[i][j],Y[i][k] );
    840834                      fclose( out );
  • trunk/LMDZ.TITAN/libf/chimtitan/tractitan.c

    r104 r2099  
    77     double Y0[][NLEV], double *FIN )
    88{
    9    char   outlog[100],corps[100][10];
     9   char   outlog[100];
    1010   int    i,j,k,l;
    1111   double  annee,**tau,**ym1;
     
    1515   FILE   *out;
    1616
    17    for( i = 0; i <= NC; i++)
    18    {
    19      strcpy( corps[i], CORPS[i] );
    20      corps[i][strcspn(CORPS[i], " ")] = '\0';
    21    }
    22    
    2317   time     = ts = 0.0e0;
    2418   annee    = 9.46728e8;
     
    5448        tau[i][j] = 1.e6;   /* autres corps = 1.e6 s, donc rappel tres fort */
    5549       
    56         if( strcmp(corps[i],"C2H2") == 0 )
     50        if( strcmp(CORPS[i],"C2H2") == 0 )
    5751           tau[i][j] = annee*pow( 10., 2.+1.*(100.-(RB[j]-R0))/200. );
    58         if( strcmp(corps[i],"C2H6") == 0 )
     52        if( strcmp(CORPS[i],"C2H6") == 0 )
    5953           tau[i][j] = annee*pow( 10., 1.+1.*(200.-(RB[j]-R0))/300. ); 
    60         if( strcmp(corps[i],"HCN") == 0 )
     54        if( strcmp(CORPS[i],"HCN") == 0 )
    6155        {
    6256          if( (RB[j]-R0) >= 350. )
     
    6559             tau[i][j] = annee*10.; 
    6660        }
    67         if( strcmp(corps[i],"C4H2") == 0 )
     61        if( strcmp(CORPS[i],"C4H2") == 0 )
    6862        {
    6963          if( (RB[j]-R0) >= 300. )
     
    113107                  if( conv > 0.1 )
    114108                  {
    115                      fprintf(out, "%d %s %e %e\n",j,corps[i],ym1[i][j],Y[i][j]);
     109                     fprintf(out, "%d %s %e %e\n",j,CORPS[i],ym1[i][j],Y[i][j]);
    116110                  }
    117111*/
     
    131125/*
    132126                  fprintf( out, "WARNING %s mixing ratio is %e %e at %d",
    133                            corps[i], ym1[i][j], Y[i][j], j );
     127                           CORPS[i], ym1[i][j], Y[i][j], j );
    134128                  fclose( out ); 
    135129*/
Note: See TracChangeset for help on using the changeset viewer.