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

In 1803, a man named Luke Howard used Latin words to categorize clouds. Cirrus, which means "curl of hair," is used to describe high, wispy clouds that look like locks of hair.

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