NASA - SatCORPS - TISA_2_5_Channel

EXTRANAVBAR
************************************************************************************************************************************************ START MAIN CONTENT HERE. ************************************************************************************************************************************************

TISA_2_5_Channel

TISA_2_5_Channel

A programming issue has occured.

We are very sorry, but the system cannot continue.

The error is: A perl execution error occured.
The error is:
Can't determine the website we are using! ID returned is: "AMCE" !!! at (eval 60) line 55. eval '# contrails page use strict; use DBI; use Carp; use CGI qw (param escapeHTML cookie); use Time::Local; use CloudRad::LarcLib; use CloudRad::DBStore; use CloudRad::SystemDirs; my $system = \\%sys; my %user_info; my $additional_xml; my $dbh; my $basedir; my $base_filesys_dir; # define the primary keys used for database access my $APP_TISA_GENERAL_SECTION = \'GENERAL\'; my $PRIKEY_SCATANGLE = \'SCATTER-ANGLE\'; my $PRIKEY_REGIONAL = \'REGIONAL-COMPS\'; my $PRIKEY_REGIONANGLE = \'REGIONAL-ANGLE\'; my $PRIKEY_BIAS = \'BIAS\'; my $BASEDIR = "$LarcLib::WEBSITE_RAW_BASE_HTML/site/doc-library/tisa-comparisons"; my $HTMLBASEDIR = "/site/doc-library/tisa-comparisons"; my $sensor = \'Aqua\'; my @test_patterns; # this is for debugging my @match_attempts; # more debugging constructs my %FILECODES = ($APP_TISA_GENERAL_SECTION => \'\', $PRIKEY_SCATANGLE => \'_ang\', $PRIKEY_REGIONAL => \'reg\', $PRIKEY_REGIONANGLE => \'reg_ang\'); if ($LarcLib::SYSTEM_IDENTIFIER eq $LarcLib::SYSTEM_TLC_DEVEL) { $basedir = "/prod/sass/contrail_predict_gifs/"; $base_filesys_dir = \'/Users/tchee/src/test-website/html/prod/sass/contrail_predict_gifs/\'; } elsif ($LarcLib::SYSTEM_IDENTIFIER eq $LarcLib::SYSTEM_LOUIS_PC) { croak ("The system is not set up for louis-pc. Sorry"); } elsif ($LarcLib::SYSTEM_IDENTIFIER eq $LarcLib::SYSTEM_ANGLER) { #$basedir = \'/PROD2/contrail/predict/\'; #$base_filesys_dir = \'/sat/www/httpd_1.5.2a-export/htdocs/PROD2/contrail/predict/\'; $basedir = \'/prod/contrail/predict/\'; $base_filesys_dir = \'/sat/www/httpd_1.5.2a-export/htdocs/prod/contrail/predict/\'; } elsif ($LarcLib::SYSTEM_IDENTIFIER eq $LarcLib::SYSTEM_ENSO) { $basedir = \'/prod/contrail/predict/\'; $base_filesys_dir = \'/www/htdocs/PRODDISK/prod/contrail/predict/\'; } elsif ($LarcLib::SYSTEM_IDENTIFIER eq $LarcLib::SYSTEM_CLOUDSGATE2) { $basedir = \'/prod/contrail/predict/\'; $base_filesys_dir = \'/www/cloudsgate2-website/htdocs/prod/contrail/predict/\'; } elsif ($LarcLib::SYSTEM_IDENTIFIER eq $LarcLib::SYSTEM_CLOUDSWAY2) { $basedir = \'/prod/contrail/predict/\'; $base_filesys_dir = \'/www/cloudsway2-website/htdocs/prod/contrail/predict/\'; } else { croak ("Can\'t determine the website we are using! ID returned is: \\"$LarcLib::SYSTEM_IDENTIFIER\\" !!!"); } return (&website_main($system)); ######################################################################################### sub website_main { ######################################################################################### my ($s); if (cookie("$LarcLib::LARC_ADMIN_COOKIE")) { # get out if there is no user cookie. my %cookies; &LarcLib::parse_cookie (cookie("$LarcLib::LARC_ADMIN_COOKIE"), \\%cookies); &LarcLib::validate_cookie (my $junk, \\%cookies); my $user_id = $cookies{$LarcLib::ADMIN_WEBSITE_COOKIE_USERID}; unless (LarcLib::get_user_information($system->{PAGE}, $user_id, \\%user_info)) { $system->{PAGE}->error ("Failed to get user information."); } } my %dispatch_table = ( \'home\' => \\&tisa_home, \'admin-home\' => \\&admin_home, \'scatter-angle\' => \\&scatter_angle, \'regional-comparisons\' => \\®ional_comparisons, \'regional-angle\' => \\®ional_angle, \'bias\' => \\&bias_page, \'admin-update\' => \\&admin_update, \'datatypes\' => \\&flttrk_datatypes ); $system->{PAGE}->error ("Failed to connect to database") unless ($dbh = DBI->connect ($LarcLib::WEBSITE_DATABASE_DSN, $LarcLib::WEBSITE_PAGE_USERNAME, $LarcLib::WEBSITE_PAGE_PASSWORD, {\'FetchHashKeyName\' => \'NAME_uc\'})); my $expobj = new DBStore ( { dbh => $dbh, app_id => $DBStore::APP_TISA_COMP_SYSTEM, pri => $APP_TISA_GENERAL_SECTION } ); my %keys = $expobj->get_all_subkeys; if (param(\'c\') =~ m/^([A-Za-z0-9\\-]+)$/) { my $cmd = $1; if (exists($dispatch_table{$cmd})) { if ($cmd =~ m/^admin\\-/i) { # check that the user is logged in. unless (exists($user_info{$LarcLib::PERMISSION_PRODUCT_VIEWER_ADMIN}) || exists($user_info{$LarcLib::PERMISSION_WEBSITE_ADMIN}) ) { $system->{PAGE}->error ("You must be logged in and have the $LarcLib::PERMISSION_PRODUCT_VIEWER_ADMIN{$LarcLib::PERMISSION_CALIB_PROJ} permissions"); } } $s .= &{$dispatch_table{$cmd}}($dbh, \\%keys); if ($cmd =~ m/^ajax\\-/) { # do an early exist for ajax things print ("Content-type: text/xml\\n\\n\\n\\n" . escapeHTML($s) . "\\n\\n$additional_xml\\n\\n"); exit; } } else { $s = "Unknown Command \\"" . escapeHTML($cmd) . "\\" - Sorry, we cannot understand your command."; } } else { # this emulates the prior behavior $s = tisa_home($dbh, \\%keys); } return ($s); } ######################################################################################### sub tisa_home_old { ######################################################################################### my ($dbh, $general_keys) = @_; $system->{PAGE}->columns(2); if (exists($general_keys->{TITLE})) { $system->{PAGE}->headline($general_keys->{TITLE}); } else { $system->{PAGE}->headline("TISA Channel Comparisons"); # have a default } my $sth; my $row; my $logged_in_string = \'\'; # if the user is logged in and has rights, allow administration if ($user_info{USERID} =~ m/^(\\d+)$/) { $logged_in_string = "  •  {SELF}&c=admin-home\'>Admin"; } my $body = "
$logged_in_string

\\n"; my $sql = "SELECT * FROM $LarcLib::DB_SATELLITE WHERE TISA_ORDER is not NULL ORDER BY TISA_ORDER"; $system->{PAGE}->error ("Failed to prepare") unless ($sth = $dbh->prepare($sql)); $system->{PAGE}->error ("Failed to execute ($DBI::errstr)") unless ($sth->execute); $body .= "\\n" . "\\n" . "\\n" . "\\n"; my $rowcount = 0; my $td = "td width=\'9%\'"; while ($row = $sth->fetchrow_hashref) { $body .= $LarcLib::TR_MOUSEOVER[$rowcount++ % 2]; $body .= "\\n"; $body .= "<$td><$td>\\n"; $body .= "<$td><$td>\\n"; $body .= "<$td><$td>\\n"; $body .= "<$td><$td>\\n"; $body .= "\\n"; } $sth->finish; $body .= "
SatelliteJanuaryAprilJulyOctober
$row->{NAME}
\\n"; $body .= "

\\n"; $body .= "\\n" . "\\n" . "\\n" . "\\n" . "\\n" . "
{SELF}&c=scatter-angle\' title=\'Click to view scatter angle comparisons page\'>Scatter Angle Comparisons{SELF}&c=regional-comparisons\' title=\'Click to view regional comparisons page\'>Regional Comparisons{SELF}&c=regional-angle\' title=\'Click to view regional angle comparisons page\'>Regional Angle Comparisons
\\n"; return ($body); } ######################################################################################### # this generically shows the pages.... With Dave Doelling, this might be a strategic blunder sub showpage { ######################################################################################### my ($dbh, $general_keys, $prikey, $fn_ext) = @_; my ($sth, $row, $body); $system->{PAGE}->columns(2); my $expobj = new DBStore ( { dbh => $dbh, app_id => $DBStore::APP_TISA_COMP_SYSTEM, pri => $prikey } ); my %keys = $expobj->get_all_subkeys; $system->{PAGE}->headline("TISA Channel Comparisons"); # have a default $system->{PAGE}->headline($keys{TITLE}) if (exists($keys{TITLE})); # set in the user desired on if it exists my $logged_in_string = undef; # if the user is logged in and has rights, allow administration $logged_in_string = "  •  {SELF}&c=admin-home\'>Admin" if ($user_info{USERID} =~ m/^(\\d+)$/); $body = "
$logged_in_string
\\n" if (defined($logged_in_string)); $_ = "Here, we will introduce you to what we are about to show in the table below.\\n"; $_ = $keys{HEADTEXT} if (exists($keys{HEADTEXT})); $body .= $_ . \'

\'; my $sql = "SELECT * FROM $LarcLib::DB_SATELLITE WHERE TISA_ORDER is not NULL ORDER BY TISA_ORDER"; $system->{PAGE}->error ("Failed to prepare") unless ($sth = $dbh->prepare($sql)); $system->{PAGE}->error ("Failed to execute ($DBI::errstr)") unless ($sth->execute); $body .= "AQUA MODIS
\\n"; #this is the bias/rms table $body .= "\\n" . "\\n" # . "\\n" . "\\n" . "\\n" . "\\n" . "\\n" . "\\n"; my $rowcount = 0; my $td = "td width=\'10%\' align=\'center\'"; while ($row = $sth->fetchrow_hashref) { $body .= $LarcLib::TR_MOUSEOVER[$rowcount++ % 2]; $body .= "\\n"; # $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', \'2ch\', $FILECODES{$prikey}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', \'5ch_v0\', $FILECODES{$prikey}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', \'5ch_39cal\', $FILECODES{$prikey}) . "\\n"; # January # $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', \'2ch\', $FILECODES{$prikey}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', \'5ch_39cal\', $FILECODES{$prikey}) . "\\n"; # January $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', $fn_ext->{\'2ch\'}, $FILECODES{$prikey}, $fn_ext->{\'2chname\'}) . "\\n"; #<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', $fn_ext->{\'5ch_lapse\'}, $FILECODES{$prikey}, $fn_ext->{\'5ch_lapsename\'}) . "\\n"; # January $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', $fn_ext->{\'5ch_V01\'}, $FILECODES{$prikey}, $fn_ext->{\'5ch_vname\'}) . "\\n"; # January, 5ch Lapse $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Apr\', $fn_ext->{\'2ch\'}, $FILECODES{$prikey}, $fn_ext->{\'2chname\'}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Apr\', $fn_ext->{\'5ch\'}, $FILECODES{$prikey}, $fn_ext->{\'5chname\'}) . "\\n"; # April #$body .= "<$td>" . get_cell_html ($row->{TISA_ABBR},\'Apr\',$fn_ext->{\'5ch_lapse\'}, $FILECODES{$prikey}, $fn_ext->{\'5ch_lapsename\'}) . "\\n"; # April, 5ch Lapse $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jul\', $fn_ext->{\'2ch\'}, $FILECODES{$prikey}, $fn_ext->{\'2chname\'}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jul\', $fn_ext->{\'5ch\'}, $FILECODES{$prikey}, $fn_ext->{\'5chname\'}) . "\\n"; # July #$body .= "<$td><$td>\\n"; # October $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Oct\', $fn_ext->{\'2ch\'}, $FILECODES{$prikey}, $fn_ext->{\'2chname\'}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Oct\', $fn_ext->{\'5ch\'}, $FILECODES{$prikey}, $fn_ext->{\'5chname\'}) . "\\n"; # October $body .= "\\n"; } $sth->finish; $body .= "
SatelliteJanuaryAprilSatelliteJanuary 2010April 2008July 2004October 2002
$row->{NAME}
\\n"; #$body .= "
test: [" . $fn_ext->{\'2ch\'} . "]
\\n"; $body .= "

\\n"; $sensor = \'Terra\'; $body .= "TERRA MODIS
\\n"; $system->{PAGE}->error ("Failed to prepare") unless ($sth = $dbh->prepare($sql)); $system->{PAGE}->error ("Failed to execute ($DBI::errstr)") unless ($sth->execute); #this is the bias/rms table $body .= "\\n" . "\\n" # . "\\n" . "\\n" . "\\n" . "\\n" . "\\n" . "\\n"; my $rowcount = 0; my $td = "td width=\'10%\' align=\'center\'"; while ($row = $sth->fetchrow_hashref) { $body .= $LarcLib::TR_MOUSEOVER[$rowcount++ % 2]; $body .= "\\n"; # $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', \'2ch\', $FILECODES{$prikey}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', \'5ch_v0\', $FILECODES{$prikey}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', \'5ch_39cal\', $FILECODES{$prikey}) . "\\n"; # January # $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', \'2ch\', $FILECODES{$prikey}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', \'5ch_39cal\', $FILECODES{$prikey}) . "\\n"; # January $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', $fn_ext->{\'2ch\'}, $FILECODES{$prikey}, $fn_ext->{\'2chname\'}) . "\\n"; #<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', $fn_ext->{\'5ch_lapse\'}, $FILECODES{$prikey}, $fn_ext->{\'5ch_lapsename\'}) . "\\n"; # January $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jan\', $fn_ext->{\'5ch_V01\'}, $FILECODES{$prikey}, $fn_ext->{\'5ch_vname\'}) . "\\n"; # January, 5ch version $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Apr\', $fn_ext->{\'2ch\'}, $FILECODES{$prikey}, $fn_ext->{\'2chname\'}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Apr\', $fn_ext->{\'5ch\'}, $FILECODES{$prikey}, $fn_ext->{\'5chname\'}) . "\\n"; # April #$body .= "<$td>" . get_cell_html ($row->{TISA_ABBR},\'Apr\',$fn_ext->{\'5ch_lapse\'}, $FILECODES{$prikey}, $fn_ext->{\'5ch_lapsename\'}) . "\\n"; # April, 5ch Lapse $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jul\', $fn_ext->{\'2ch\'}, $FILECODES{$prikey}, $fn_ext->{\'2chname\'}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Jul\', $fn_ext->{\'5ch\'}, $FILECODES{$prikey}, $fn_ext->{\'5chname\'}) . "\\n"; # July #$body .= "<$td><$td>\\n"; # October $body .= "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Oct\', $fn_ext->{\'2ch\'}, $FILECODES{$prikey}, $fn_ext->{\'2chname\'}) . "<$td>" . get_cell_html ($row->{TISA_ABBR}, \'Oct\', $fn_ext->{\'5ch\'}, $FILECODES{$prikey}, $fn_ext->{\'5chname\'}) . "\\n"; # October $body .= "\\n"; } $sth->finish; $body .= "
SatelliteJanuaryAprilSatelliteJanuary 2010April 2008July 2004October 2002
$row->{NAME}
\\n"; $body .= " \\n\\t\\n"; $body .= "\\t\\t\\n"; } else { $body .= "{SELF}&c=scatter-angle\' title=\'Click to view scatter angle comparisons page\'>Scatter plot matched angle\\n"; } $body .= "\\n\\t\\t\\n"; } else { $body .= "{SELF}&c=regional-comparisons\' title=\'Click to view regional comparisons page\'>Regional plot comparisons\\n"; } $body .= "\\n\\t\\t\\n"; } else { $body .= "{SELF}&c=regional-angle\' title=\'Click to view regional angle comparisons page\'>Regional plot matched angle\\n"; } $body .= "\\n\\t\\t\\n"; } else { $body .= "{SELF}&c=bias\' title=\'Click to view Bias/RMS page\'>Bias/RMS\\n"; } $body .= "\\t\\n
\\n"; if ($prikey eq $PRIKEY_SCATANGLE) { $body .= "{SELF}&c=home\' title=\'Click to return to the main page\'>Scatter plot comparisons\\n"; if ($prikey eq $PRIKEY_REGIONAL) { $body .= "{SELF}&c=home\' title=\'Click to return to the main page\'>Scatter plot comparisons\\n"; if ($prikey eq $PRIKEY_REGIONANGLE) { $body .= "{SELF}&c=home\' title=\'Click to return to the main page\'>Scatter plot comparisons\\n"; if ($prikey eq $PRIKEY_BIAS) { $body .= "{SELF}&c=home\' title=\'Click to return to the main page\'>Scatter plot comparisons
\\n"; if (param(\'debug\') =~ m/^on$/) { $body .= "
Debugging Information

\\n"; $body .= "Patterns used for file tests:
    \\n"; foreach (@test_patterns) { $body .= "
  • " . escapeHTML($_) . "
  • \\n"; } $body .= "

End of test patterns used to match files
\\n"; $body .= "Matching Results

    \\n"; foreach (@match_attempts) { $body .= "
  • " . escapeHTML($_) . "
  • \\n"; } $body .= "

End of test results against files
\\n"; } return ($body); } ######################################################################################### sub get_cell_html { ######################################################################################### my ($satcode, $month, $channelcode, $funccode, $display_title) = @_; $system->{PAGE}->error ("Failed to open base directory $BASEDIR") unless (opendir (IND, $BASEDIR)); my @files = readdir IND; closedir IND; my $s = \'\'; my $testpat = "^$satcode\\_$sensor\\_$month" . \'(\\d\\d\\d\\d)\' . "\\_$channelcode" . \'\\_*\' . "$funccode\\.pdf\\$"; push @test_patterns, "Test Pattern: $testpat \\n"; my $result = undef; $s .= "TESTING PATTERNS: \\n\\n" . join("\\n\\t\\t", @test_patterns) . "\\n\\n"; foreach (@files) { if (m/$testpat/i) { $result = $_; } #$s .= "testing $_ against $testpat (Channel code = $channelcode)
\\n"; push @match_attempts, "Testing $_ against $testpat (Channel code=$channelcode)\\n"; } my $return = " "; if (defined($result)) { $return = "$display_title"; } else { $return = "\\n\\n"; } return $return; } ######################################################################################### sub tisa_home { ######################################################################################### my ($dbh, $general_keys) = @_; my $body = &showpage ($dbh, $general_keys, \'GENERAL\', {\'2ch\' => \'2ch\', \'5ch\' => \'5ch_39cal\', \'5ch_lapse\' => \'5ch_lapse\', \'2chname\' => \'2ch\', \'5chname\' => \'5ch\', \'5ch_lapsename\' => \'5ch_lapse\', \'5ch_vname\' => \'5ch_V01\', \'5ch_V01\' => \'5ch_V01\'}); return $body; } ######################################################################################### sub scatter_angle { ######################################################################################### my ($dbh, $general_keys) = @_; my $body = &showpage ($dbh, $general_keys, $PRIKEY_SCATANGLE, {\'2ch\' => \'2ch\', \'5ch\' => \'5ch_39cal\', \'5ch_lapse\' => \'5ch_lapse\', \'2chname\' => \'2ch\', \'5chname\' => \'5ch\', \'5ch_lapsename\' => \'5ch_lapse\', \'5ch_vname\' => \'5ch_V01\', \'5ch_V01\' => \'5ch_V01\'}); return $body; } ######################################################################################### sub regional_comparisons { ######################################################################################### my ($dbh, $general_keys) = @_; my $body = &showpage ($dbh, $general_keys, $PRIKEY_REGIONAL, {\'2ch\' => \'2ch\', \'5ch\' => \'5ch_39cal\', \'5ch_lapse\' => \'5ch_lapse\', \'2chname\' => \'2ch\', \'5chname\' => \'5ch\', \'5ch_lapsename\' => \'5ch_lapse\', \'5ch_vname\' => \'5ch_V01\', \'5ch_V01\' => \'5ch_V01\'}); return $body; } ######################################################################################### sub regional_angle { ######################################################################################### my ($dbh, $general_keys) = @_; my $body = &showpage ($dbh, $general_keys, $PRIKEY_REGIONANGLE, {\'2ch\' => \'2ch\', \'5ch\' => \'5ch_39cal\', \'5ch_lapse\' => \'5ch_lapse\', \'2chname\' => \'2ch\', \'5chname\' => \'5ch\', \'5ch_lapsename\' => \'5ch_lapse\', \'5ch_vname\' => \'5ch_V01\', \'5ch_V01\' => \'5ch_V01\'}); return $body; } ######################################################################################### sub bias_page { ######################################################################################### my ($dbh, $general_keys) = @_; # my $body = &showpage ($dbh, $general_keys, $PRIKEY_BIAS, {\'2ch\' => \'scatter_plot_stats_2ch_5ch_per_bias\', \'5ch\' => \'scatter_plot_stats_2ch_5ch_per_rms\', \'2chname\' => \'Bias\', \'5chname\' => \'RMS\'}); my $body = &showpage ($dbh, $general_keys, $PRIKEY_BIAS, {\'2ch\' => \'scatter_plot_stats_2ch_5ch_bias\', \'5ch\' => \'scatter_plot_stats_2ch_5ch_rms\', \'2chname\' => \'Bias\', \'5chname\' => \'RMS\'}); return $body; } ######################################################################################### sub admin_update { ######################################################################################### my ($dbh, $general_keys) = @_; my $body = "Admin Update
"; $system->{PAGE}->error ("Invalid mnemonic code (" . param(\'mnemonic\') . ")") unless (param(\'mnemonic\') =~ m/^([A-Za-z\\-]+)$/); my $mnemonic = $1; $body .= "Page: $mnemonic
\\n"; $system->{PAGE}->error ("Invalid section code (" . param(\'prikey\') . ")") unless (param(\'prikey\') =~ m/^([A-Za-z\\-]+)$/); my $prikey = $1; $body .= "Section: $prikey
\\n"; my $dataobj = new DBStore ( { dbh => $dbh, app_id => $DBStore::APP_TISA_COMP_SYSTEM, pri => $prikey} ); my %data = $dataobj->get_all_subkeys; my $title = \'Default Title\'; $title = $1 if (param(\'TITLE\') =~ m/^([A-Za-z0-9\\ \\-]+)$/); my $ht = param(\'HEADTEXT\'); $body .= "New Title: $title
\\n"; $dataobj->put ($prikey, \'TITLE\', $title); $body .= "New Header Copy: $ht
\\n"; $dataobj->put ($prikey, \'HEADTEXT\', $ht); $body .= "


System updated OK.

\\n"; $body .= "You can view the {SELF}&c=home\' title=\'Click to view the home page\'>home page

\\n"; $body .= "You can view the {SELF}&c=scatter-angle\' title=\'Click to view the scatter angle page\'>scatter angle page

\\n"; $body .= "You can view the {SELF}&c=regional-comparisons\' title=\'Click to view the regional-comparisons page\'>regional-comparisons page

\\n"; $body .= "You can view the {SELF}&c=regional-angle\' title=\'Click to view the Regional Angle Comparisons page\'>Regional Angle Comparisons page

\\n"; $body .= "You can view the {SELF}&c=bias\' title=\'Click to view the Bias Comparisons page\'>Bias%/RMS% Comparisons page

\\n"; return $body; } ######################################################################################### sub admin_home { ######################################################################################### #my $body = "Admin Home Page

\\n"; my $body .= "Return to {SELF}&c=home\'>home page
\\n"; $system->{PAGE}->columns(2); $system->{PAGE}->headline("TISA Comparisons Admin Home"); my $sth; my $row; my $body = "
{SELF}&c=home\' title=\'Click to go to the home page\'>Home Page

\\n"; $body .= admin_section_html ($dbh, \'GENERAL\', \'General/Home Page\'); $body .= admin_section_html ($dbh, $PRIKEY_SCATANGLE, \'Scatter Angle Page\'); $body .= admin_section_html ($dbh, $PRIKEY_REGIONAL, \'Regional Page\'); $body .= admin_section_html ($dbh, $PRIKEY_REGIONANGLE, \'Regional Angle Page\'); $body .= admin_section_html ($dbh, $PRIKEY_BIAS, \'BIAS/RMS Page\'); return ($body); } ######################################################################################### sub admin_section_html { ######################################################################################### my ($dbh, $prikey, $title) = @_; my $expobj = new DBStore ( { dbh => $dbh, app_id => $DBStore::APP_TISA_COMP_SYSTEM, pri => $prikey } ); my %keys = $expobj->get_all_subkeys; $_ =<
$title
{SELF}\'> {MNEMONIC}\'>
Setting Value
Title:
Intro Copy:
FEOF return $_; } ######################################################################################### sub admin_grid_edit { ######################################################################################### my ($dbh, $keys) = @_; my ($sth, $row); my $sql = "SELECT * FROM $LarcLib::DB_SATELLITE WHERE TISA_ORDER is not NULL ORDER BY TISA_ORDER"; $system->{PAGE}->error ("Failed to prepare") unless ($sth = $dbh->prepare($sql)); $system->{PAGE}->error ("Failed to execute ($DBI::errstr)") unless ($sth->execute); my $body = "\\n" . "\\n" . "\\n" . "\\n"; my $rowcount = 0; my $td = "td width=\'9%\'"; while ($row = $sth->fetchrow_hashref) { $body .= $LarcLib::TR_MOUSEOVER[$rowcount++ % 2]; $body .= "\\n"; $body .= "<$td><$td>\\n"; $body .= "<$td><$td>\\n"; $body .= "<$td><$td>\\n"; $body .= "<$td><$td>\\n"; $body .= "\\n"; } $sth->finish; $body .= "
SatelliteJanuaryAprilJulyOctober
$row->{NAME}
\\n"; return $body; } ######################################################################################### sub contrail_javascript { ######################################################################################### my $s =< JEOF return ($s); } ' called at /www/production-website/cgi-bin/site/showdoc line 229 main::main() called at /www/production-website/cgi-bin/site/showdoc line 24

**** END MAIN CONTENT HERE. ****



Go

NASA Fact

The Cassini spacecraft will fly close to Saturn 76 times and visit its moon Titan 45 times. The Huygens probe will have the closest view of Titan, and Titan will be the most distant object from Earth ever to be studied by a probe!

################################################################################################################################################################################## END Content Wrapper, this div surrounds the main content and the Left Nav ##################################################################################################################################################################################
NASA Logo - nasa.gov