00001
00002
00003
00004 #include "cddefines.h"
00005 #include "taulines.h"
00006 #include "h2.h"
00007 #include "iso.h"
00008 #include "lines_service.h"
00009 #include "dense.h"
00010 #include "prt.h"
00011
00012 void prtmet(void)
00013 {
00014 long int i,
00015 nelem ,
00016 ipHi ,
00017 ipLo ,
00018 ipISO;
00019
00020 DEBUG_ENTRY( "prtmet()" );
00021
00022
00023
00024 if( prt.lgPrtTau )
00025 {
00026
00027
00028 prme("In",&TauLines[0]);
00029
00030
00031
00032 for( ipISO=ipH_LIKE; ipISO<NISO; ++ipISO )
00033 {
00034 for( nelem=ipISO; nelem < LIMELM; nelem++ )
00035 {
00036 if( dense.lgElmtOn[nelem] )
00037 {
00038
00039 for( ipHi=1; ipHi < iso.numLevels_local[ipISO][nelem]; ipHi++ )
00040 {
00041 for( ipLo=0; ipLo < ipHi; ipLo++ )
00042 {
00043 prme(" c",&EmisLines[ipISO][nelem][ipHi][ipLo]);
00044 }
00045 }
00046 }
00047 }
00048 }
00049
00050
00051 for( i=1; i <= nLevel1; i++ )
00052 {
00053 prme(" c",&TauLines[i]);
00054 }
00055
00056 for( i=0; i < nWindLine; i++ )
00057 {
00058 if( TauLine2[i].IonStg < TauLine2[i].nelem+1-NISO )
00059 {
00060 prme(" c",&TauLine2[i]);
00061 }
00062 }
00063
00064 for( i=0; i < nUTA; i++ )
00065 {
00066 if( UTALines[i].Aul > 0. )
00067 prme(" c",&UTALines[i]);
00068 }
00069
00070
00071 H2_Prt_line_tau();
00072
00073 for( i=0; i < nCORotate; i++ )
00074 {
00075 prme(" c",&C12O16Rotate[i]);
00076 }
00077
00078 for( i=0; i < nCORotate; i++ )
00079 {
00080 prme(" c",&C13O16Rotate[i]);
00081 }
00082
00083 for( i=0; i < nHFLines; i++ )
00084 {
00085 prme(" c",&HFLines[i]);
00086 }
00087
00088
00089 prme(" ",&TauLines[0]);
00090 }
00091
00092 DEBUG_EXIT( "prtmet()" );
00093 return;
00094 }
00095
00096
00097 #define NLIM 6
00098
00099
00100
00101
00102
00103
00104
00105 void prme(
00106 const char *chDoIt,
00107 EmLine * t)
00108 {
00109
00110 static char chLsav[NLIM][11];
00111 long int i;
00112 static long int n;
00113
00114 static float tsav[NLIM] = {0.};
00115
00116
00117 DEBUG_ENTRY( "prme()" );
00118
00119
00120
00121
00122
00123
00124
00125
00126 if( strcmp(chDoIt,"In") == 0 )
00127 {
00128 n = 0;
00129
00130 }
00131 else if( strcmp(chDoIt," ") == 0 )
00132 {
00133
00134 fprintf( ioQQQ, " " );
00135 for( i=0; i < n; i++ )
00136 {
00137 fprintf( ioQQQ, "%10.10s",chLsav[i]);
00138 fprintf( ioQQQ,PrintEfmt("%9.2e", tsav[i] ));
00139 fprintf( ioQQQ, " ");
00140 }
00141 fprintf( ioQQQ, " \n" );
00142
00143 }
00144
00145 else if( t->TauIn > prt.PrtTauFnt || t->TauIn < -1e-5 )
00146 {
00147
00148
00149 if( n >= NLIM )
00150 {
00151
00152 fprintf( ioQQQ, " " );
00153 for( i=0; i < NLIM; i++ )
00154 {
00155 fprintf( ioQQQ, "%10.10s",chLsav[i]);
00156 fprintf( ioQQQ,PrintEfmt("%9.2e", tsav[i] ));
00157 fprintf( ioQQQ, " ");
00158 }
00159 fprintf( ioQQQ, " \n" );
00160 n = 0;
00161 }
00162
00163 strcpy( chLsav[n], chLineLbl(t) );
00164 tsav[n] = t->TauIn;
00165 ++n;
00166 }
00167
00168 DEBUG_EXIT( "prme()" );
00169 return;
00170 }