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 #include "mole.h"
00012
00013 void prtmet(void)
00014 {
00015 long int i,
00016 nelem ,
00017 ipHi ,
00018 ipLo ,
00019 ipISO;
00020
00021 DEBUG_ENTRY( "prtmet()" );
00022
00023
00024
00025 if( prt.lgPrtTau )
00026 {
00027 fprintf( ioQQQ, " Line Optical Depths\n");
00028
00029
00030 prme("IN",&TauLines[0]);
00031
00032
00033 for( ipISO=ipH_LIKE; ipISO<NISO; ++ipISO )
00034 {
00035 for( nelem=ipISO; nelem < LIMELM; nelem++ )
00036 {
00037 if( dense.lgElmtOn[nelem] )
00038 {
00039
00040 for( ipLo=0; ipLo < iso.numLevels_local[ipISO][nelem]-1; ipLo++ )
00041 {
00042 for( ipHi=ipLo+1; ipHi < iso.numLevels_local[ipISO][nelem]; ipHi++ )
00043 {
00044 prme(" c",&Transitions[ipISO][nelem][ipHi][ipLo]);
00045 }
00046 }
00047 }
00048 }
00049 }
00050
00051
00052 for( i=1; i <= nLevel1; i++ )
00053 {
00054 prme(" c",&TauLines[i]);
00055 }
00056
00057 for( i=0; i < nWindLine; i++ )
00058 {
00059 if( TauLine2[i].Hi->IonStg < TauLine2[i].Hi->nelem+1-NISO )
00060 {
00061 prme(" c",&TauLine2[i]);
00062 }
00063 }
00064
00065 for( i=0; i < nUTA; i++ )
00066 {
00067 prme(" c",&UTALines[i]);
00068 }
00069
00070
00071 H2_Prt_line_tau();
00072
00073 for( i=0; i < nHFLines; i++ )
00074 {
00075 prme(" c",&HFLines[i]);
00076 }
00077
00078
00079 for( i=0; i < linesAdded2; i++)
00080 {
00081 prme("DB",dBaseLines[i].tran);
00082 }
00083
00084 fprintf( ioQQQ, "\n");
00085 }
00086 return;
00087 }
00088
00089
00090 void prme(
00091
00092
00093
00094
00095
00096 const char *chDoIt,
00097 transition * t)
00098 {
00099 char chAtMolWL[20],chAtMol[35];
00100 static long int n ;
00101
00102 DEBUG_ENTRY( "prme()" );
00103
00104 if( t->ipCont <= 0 )
00105 {
00106
00107 return;
00108 }
00109
00110
00111 if( strncmp(chDoIt,"IN",2) == 0 )
00112 {
00113 n = 0;
00114 }
00115
00116 else if( strncmp(chDoIt,"DB",2) == 0)
00117 {
00118
00119
00120
00121 if( t->Emis->TauIn > prt.PrtTauFnt || t->Emis->TauIn < -1e-5 )
00122 {
00123 sprt_wl(chAtMolWL,t->WLAng);
00124 strcpy(chAtMol,t->Hi->chLabel);
00125 strcat(chAtMol," ");
00126 strcat(chAtMol,chAtMolWL);
00127 fprintf( ioQQQ, " %10.15s",chAtMol);
00128 fprintf( ioQQQ,PrintEfmt("%9.2e", t->Emis->TauIn));
00129 fprintf( ioQQQ, " ");
00130
00131 ++n;
00132 if(n == 6)
00133 {
00134 n = 0;
00135 fprintf( ioQQQ, " \n");
00136 }
00137 }
00138 }
00139
00140 else if( strncmp(chDoIt," c",2) == 0)
00141 {
00142
00143 if( t->Emis->TauIn > prt.PrtTauFnt || t->Emis->TauIn < -1e-5 )
00144 {
00145
00146 fprintf( ioQQQ, " %10.10s",chLineLbl(t));
00147 fprintf( ioQQQ, PrintEfmt("%9.2e", t->Emis->TauIn ));
00148
00149
00150 ++n;
00151 if(n == 6)
00152 {
00153 n = 0;
00154 fprintf( ioQQQ, " \n");
00155 }
00156 }
00157 }
00158 else
00159 TotalInsanity();
00160 return;
00161 }