亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? configure

?? CCSM Research Tools: Community Atmosphere Model (CAM)
??
?? 第 1 頁 / 共 5 頁
字號:
    my @e;  # xml elements    my $e;  # an xml element    my %a;  # element attributes    # Check for valid root node    my $name = $root->get_name();    $name eq "resolution_parameters" or die	"file $file is not a resolution parameters file\n";    # Get spectral grids    # The "res" attribute values are the keys of %spec_grid    # The values are references to a hash containing the nlon, nlat keys    @e = $xml->elements_by_name( "spectral_grid" );    %a = ();    my %spec_grid = ();    while ( $e = shift @e ) {	%a = $e->get_attributes();	$spec_grid{"$a{'res'}"} = { 'nlon' => $a{'nlon'},				    'nlat' => $a{'nlat'}				  };    }    # Get finite volume grids    # The "res" attribute values are the keys of %fv_grid    # The values are references to a hash containing the nlon, nlat keys    @e = $xml->elements_by_name( "fv_grid" );    %a = ();    my %fv_grid = ();    while ( $e = shift @e ) {	%a = $e->get_attributes();	$fv_grid{"$a{'res'}"} = { 'nlon' => $a{'nlon'},				  'nlat' => $a{'nlat'}				};    }    # Get spectral truncation parameters    # The "res" attribute values are the keys of %spec_trunc    # The values are references to a hash containing the m, n, and k keys    @e = $xml->elements_by_name( "spectral_trunc" );    %a = ();    my %spec_trunc = ();    while ( $e = shift @e ) {	%a = $e->get_attributes();	$spec_trunc{"$a{'res'}"} = { 'm' => $a{'m'},				     'n' => $a{'n'},				     'k' => $a{'k'}				   };    }    return \%spec_grid, \%fv_grid, \%spec_trunc;}#-------------------------------------------------------------------------------sub get_sys_defaults{    my ($file, $os) = @_;    my $xml = XML::Lite->new( $file );    my $root = $xml->root_element();    my $e;          # xml element    my %a;          # element attributes    my %sys = ();   # return values    # Check for valid root node    my $name = $root->get_name();    $name eq "system_defaults" or die	"file $file is not a system defaults file\n";    # SPMD    $e = $xml->elements_by_name( "spmd" );    %a = $e->get_attributes();    $sys{'spmd'} = $a{$os};    # Threads    $e = $xml->elements_by_name( "threads" );    %a = $e->get_attributes();    $sys{'omp'} = $a{$os};    return %sys;}#-------------------------------------------------------------------------------sub absolute_path {## Convert a pathname into an absolute pathname, expanding any . or .. characters.# Assumes pathnames refer to a local filesystem.# Assumes the directory separator is "/".#  my $path = shift;  my $cwd = getcwd();  # current working directory  my $abspath;         # resulting absolute pathname# Strip off any leading or trailing whitespace.  (This pattern won't match if# there's embedded whitespace.  $path =~ s!^\s*(\S*)\s*$!$1!;# Convert relative to absolute path.  if ($path =~ m!^\.$!) {          # path is "."      return $cwd;  } elsif ($path =~ m!^\./!) {     # path starts with "./"      $path =~ s!^\.!$cwd!;  } elsif ($path =~ m!^\.\.$!) {   # path is ".."      $path = "$cwd/..";  } elsif ($path =~ m!^\.\./!) {   # path starts with "../"      $path = "$cwd/$path";  } elsif ($path =~ m!^[^/]!) {    # path starts with non-slash character      $path = "$cwd/$path";  }  my ($dir, @dirs2);  my @dirs = split "/", $path, -1;   # The -1 prevents split from stripping trailing nulls                                     # This enables correct processing of the input "/".  # Remove any "" that are not leading.  for (my $i=0; $i<=$#dirs; ++$i) {      if ($i == 0 or $dirs[$i] ne "") {	  push @dirs2, $dirs[$i];      }  }  @dirs = ();  # Remove any "."  foreach $dir (@dirs2) {      unless ($dir eq ".") {	  push @dirs, $dir;      }  }  @dirs2 = ();  # Remove the "subdir/.." parts.  foreach $dir (@dirs) {    if ( $dir !~ /^\.\.$/ ) {        push @dirs2, $dir;    } else {        pop @dirs2;   # remove previous dir when current dir is ..    }  }  if ($#dirs2 == 0 and $dirs2[0] eq "") { return "/"; }  $abspath = join '/', @dirs2;  return( $abspath );}#-------------------------------------------------------------------------------sub subst_env_path {## Substitute for any environment variables contained in a pathname.# Assumes the directory separator is "/".#  my $path = shift;  my $newpath;         # resulting pathname# Strip off any leading or trailing whitespace.  (This pattern won't match if# there's embedded whitespace.  $path =~ s!^\s*(\S*)\s*$!$1!;  my ($dir, @dirs2);  my @dirs = split "/", $path, -1;   # The -1 prevents split from stripping trailing nulls                                     # This enables correct processing of the input "/".  foreach $dir (@dirs) {    if ( $dir =~ /^\$(.+)$/ ) {        push @dirs2, $ENV{$1};    } else {        push @dirs2, $dir;    }  }  $newpath = join '/', @dirs2;  return( $newpath );}#-------------------------------------------------------------------------------sub mkdirp {    my ($dir) = @_;    my (@dirs) = split /\//, $dir;    my (@subdirs, $path);    # if $dir is absolute pathname then @dirs will start with ""    if ($dirs[0] eq "") { push @subdirs, shift @dirs; }      while ( @dirs ) { # check that each subdir exists and mkdir if it doesn't	push @subdirs, shift @dirs;	$path = join '/', @subdirs;	unless (-d $path or mkdir($path, 0777)) { return 0; }    }    return 1;}#-------------------------------------------------------------------------------sub get_option {    my ($mes, @expect) = @_;    my ($ans, $expect, $max_tries);    $max_tries = 5;    print $mes;    while ($max_tries) {	$ans = <>; chomp $ans;	--$max_tries;	$ans =~ s/^\s+//;	$ans =~ s/\s+$//;	# Check for null response which indicates that default is accepted.	unless ($ans) { return ""; }	foreach $expect (@expect) {	    if ($ans =~ /^$expect$/i) { return $expect; }	}	if ($max_tries > 1) {	    print "$ans does not match any of the expected values: @expect\n";	    print "Please try again: ";	} elsif ($max_tries == 1) {	    print "$ans does not match any of the expected values: @expect\n";	    print "Last chance! ";	}    }    die "Failed to get answer to question: $mes\n";}#-------------------------------------------------------------------------------sub valid_option {    my ($val, @expect) = @_;    my ($expect);    $val =~ s/^\s+//;    $val =~ s/\s+$//;    foreach $expect (@expect) {	if ($val =~ /^$expect$/i) { return $expect; }    }    return undef;}#-------------------------------------------------------------------------------sub validate_options {    my ($source, $opts) = @_;    my ($opt, $old, @expect);        # dyn    $opt = 'dyn';    @expect = ('eul', 'sld', 'fv');    if (defined $opts->{$opt}) {	$old = $opts->{$opt};	$opts->{$opt} = valid_option($old, @expect)	    or die "** invalid value of $opt ($old) specified in $source\n".                   "** expected one of: @expect\n";    }    # phys    $opt = 'phys';    @expect = ('cam1', 'ccm366');    if (defined $opts->{$opt}) {	$old = $opts->{$opt};	$opts->{$opt} = valid_option($old, @expect)	    or die "** invalid value of $opt ($old) specified in $source\n".                   "** expected one of: @expect\n";    }    # ocn    $opt = 'ocn';    @expect = ('dom', 'som');    if (defined $opts->{$opt}) {	$old = $opts->{$opt};	$opts->{$opt} = valid_option($old, @expect)	    or die "** invalid value of $opt ($old) specified in $source\n".                   "** expected one of: @expect\n";    }    # resolution    unless ($opts->{'res'} eq 'custom') {	if ( defined($opts->{'nlon'}) or defined($opts->{'nlat'}) ) {	    die "** must set -res option to 'custom' for the -nlon or -nlat options\n".		"** to be recognized\n";	}    }    unless ($opts->{'res'} eq 'custom' and $opts->{'dyn'} ne 'fv') {	if ( defined($opts->{'trk'}) or defined($opts->{'trm'}) or defined($opts->{'trn'}) ) {	    die "** must set -res option to 'custom' and -dyn to either 'eul' or 'sld'\n".		"** for the -trk, -trm, or -trn options to be recognized\n";	}    }}#-------------------------------------------------------------------------------sub get_gmake {# check for a valid version of GNU make in the user's path    my @makenames = @_;    my ($make, $retval);    foreach $make (@makenames) {	$retval = `$make -v 2>&1`;	return $make if ($retval =~ /GNU Make/);    }    return;}#-------------------------------------------------------------------------------sub check_fc {# Create a "hello world" test code in Fortran 90 syntax to check the compiler.# If successful then the name of the compiler used is returned.    my ($gmake, $cfgdir) = @_;    my $fh = new IO::File;    my $file = 'test_fc.F90';    $fh->open(">$file") or die "** can't open file: $file\n";    print $fh  <<"EOF";module m1   private   public :: hellocontainssubroutine hello()   implicit none   print *, 'hello world'end subroutine helloend module m1program main   use m1, only: hello   implicit none   call helloend program mainEOF    $fh->close;    # execute the test_fc target in the CAM Makefile    my $cmd = "$gmake test_fc 2>&1";    my $out = `$cmd`;    if ($CHILD_ERROR) { 	die <<"EOF";**** FAILED ****Issued the command:$cmdThe output was:$outEOF    }    # clean-up (Srcfiles and Depends are created by the makefile)    unlink 'test_fc.F90', 'test_fc.o', 'test_fc', glob("[Mm]1.[Mm][Oo][Dd]"), 'Srcfiles', 'Depends';    # search make output for name of Fortran compiler    $out =~ /(\w*f9\w+)/;    return $1;}#-------------------------------------------------------------------------------sub check_netcdf {# Create a test code that has an external reference to the netCDF library# and check that the Makefile can build it.  Returns 0 on success.    my ($gmake, $cfgdir) = @_;    my $fh = new IO::File;    my $file = 'test_nc.F90';    $fh->open(">$file") or die "** can't open file: $file\n";    print $fh  <<"EOF";program main   implicit none#include <netcdf.inc>   integer :: cmode, ncid, ret   ret = nf_create('foo.nc', cmode, ncid)end program mainEOF    $fh->close;    # execute the test_nc target in the CAM Makefile    my $cmd = "$gmake test_nc 2>&1";    my $out = `$cmd`;    if ($CHILD_ERROR) { 	die <<"EOF";**** FAILED ****Issued the command:$cmdThe output was:$outEOF    }    # clean-up (Srcfiles and Depends are created by the makefile)    unlink 'test_nc.F90', 'test_nc.o', 'test_nc', 'Srcfiles', 'Depends';    return 0;}#-------------------------------------------------------------------------------sub check_mpi {# Create a test code that has an external reference to the MPI library# and check that the Makefile can build it.  Returns 0 on 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久青草欧美一区二区三区| 国产精品乱码妇女bbbb| 成人免费视频视频| 亚洲成a人片在线不卡一二三区| 欧美变态tickling挠脚心| 91香蕉视频污在线| 国模一区二区三区白浆| 亚洲成人中文在线| √…a在线天堂一区| www国产成人| 欧美精品日韩一本| 91色视频在线| 国产91清纯白嫩初高中在线观看| 日韩精品高清不卡| 亚洲一区二区三区精品在线| 国产精品天天摸av网| 精品久久久久久久一区二区蜜臀| 欧美日韩久久一区| 欧洲视频一区二区| 色婷婷久久综合| 99久久久精品| 99视频一区二区三区| 丁香网亚洲国际| 国产美女精品人人做人人爽| 免费高清不卡av| 日本亚洲免费观看| 免费日韩伦理电影| 视频在线在亚洲| 午夜精品aaa| 亚洲国产成人高清精品| 亚洲精品国产成人久久av盗摄 | 国产 欧美在线| 激情久久五月天| 久久福利资源站| 日韩激情一区二区| 天天综合色天天综合| 亚洲mv在线观看| 午夜精品久久久久久久99水蜜桃| 亚洲高清免费在线| 午夜精品久久久久久久| 日本成人中文字幕在线视频 | 精品伊人久久久久7777人| 日本视频一区二区三区| 日本欧美加勒比视频| 奇米精品一区二区三区在线观看一| 午夜视频一区二区三区| 亚洲va韩国va欧美va| 日本大胆欧美人术艺术动态| 久久精品噜噜噜成人av农村| 国产乱妇无码大片在线观看| 高清国产一区二区三区| 91在线精品一区二区| 欧洲日韩一区二区三区| 欧美一区二区三区男人的天堂| 91精品国产色综合久久不卡电影 | 婷婷开心激情综合| 蜜桃视频在线观看一区二区| 国产一区二区中文字幕| 成人黄色一级视频| 欧洲另类一二三四区| 91精品国产综合久久蜜臀| 日韩欧美一二三| 国产女主播一区| 亚洲精品视频观看| 玖玖九九国产精品| av在线综合网| 在线成人av网站| 国产视频911| 亚洲自拍偷拍综合| 精品一区二区影视| 99热精品一区二区| 91精品国产欧美日韩| 久久久亚洲精品一区二区三区| 亚洲免费在线视频一区 二区| 亚洲一区二区在线观看视频| 另类小说一区二区三区| 99精品视频在线免费观看| 欧美一区二区三区在线视频 | 久久精品无码一区二区三区| 亚洲欧洲在线观看av| 青青草一区二区三区| 成人av集中营| 欧美电影免费观看高清完整版在 | 欧美精品一卡二卡| 中文av一区二区| 午夜精品久久久久影视| 成人性生交大片免费看视频在线| 欧美日韩一区国产| 国产日产欧美一区| 婷婷中文字幕综合| 99re这里只有精品6| 日韩精品一区二区三区在线| 亚洲黄一区二区三区| 国产一区福利在线| 91精品免费在线| 亚洲视频在线一区观看| 国产美女视频一区| 日韩视频在线一区二区| 亚洲欧美偷拍卡通变态| 国产精品亚洲专一区二区三区 | 国产精品久久久久aaaa樱花 | 色猫猫国产区一区二在线视频| 欧美一二区视频| 一区二区免费在线| 不卡区在线中文字幕| 久久精品一二三| 久久国产精品99精品国产| 欧美久久久久久蜜桃| 一区二区三区在线视频免费| 成人综合在线视频| 精品欧美一区二区三区精品久久| 亚洲成人av在线电影| 日本乱人伦aⅴ精品| 国产精品高潮呻吟| 国产很黄免费观看久久| 精品三级在线看| 另类小说欧美激情| 欧美伦理影视网| 亚洲成av人片一区二区梦乃| 色噜噜狠狠色综合欧洲selulu| 国产精品青草久久| 国产福利一区二区| 久久综合国产精品| 国内久久精品视频| 欧美成人精品1314www| 青青草97国产精品免费观看无弹窗版| 欧美无乱码久久久免费午夜一区| 亚洲欧美日韩一区二区三区在线观看| 成人aa视频在线观看| 国产精品卡一卡二卡三| 成人免费高清在线观看| 国产欧美一区二区三区在线看蜜臀 | eeuss鲁片一区二区三区| 国产欧美日韩在线视频| 国产91色综合久久免费分享| 欧美激情一区二区三区| 国产凹凸在线观看一区二区| 国产亚洲一区二区三区四区| 国产美女精品一区二区三区| 久久久精品国产免费观看同学| 韩国精品一区二区| 国产日本欧美一区二区| 成人性视频免费网站| 一区精品在线播放| 91激情五月电影| 日韩福利视频导航| 精品久久一区二区| 国产iv一区二区三区| **网站欧美大片在线观看| 欧美综合一区二区| 日韩精品久久久久久| 精品对白一区国产伦| 成人性生交大片免费看中文网站| 日韩一区在线播放| 在线观看精品一区| 秋霞午夜av一区二区三区| 欧美精品一区二区三区蜜桃 | 亚洲国产综合在线| 91精品国产欧美日韩| 国产在线播放一区三区四| 日本一区免费视频| 在线精品视频免费观看| 免费黄网站欧美| 国产精品国产三级国产普通话三级| 91碰在线视频| 日产精品久久久久久久性色| 国产丝袜在线精品| 在线观看成人免费视频| 久久精品999| 国产精品福利一区| 欧美日韩一区久久| 国产91在线看| 亚洲一区二区美女| 久久亚洲私人国产精品va媚药| 99国产精品99久久久久久| 日韩av成人高清| 亚洲欧洲另类国产综合| 欧美一区二区黄| 91视视频在线观看入口直接观看www| 三级久久三级久久| 国产精品久久久久一区二区三区共| 欧美日韩在线免费视频| 高清国产一区二区| 日本三级亚洲精品| 国产精品福利在线播放| 日韩精品自拍偷拍| 91亚洲精品一区二区乱码| 精品一区二区国语对白| 亚洲一二三区不卡| 国产欧美日产一区| 日韩视频永久免费| 欧美午夜宅男影院| 成人综合激情网| 久久精品国产色蜜蜜麻豆| 亚洲一区二区三区中文字幕| 国产日韩欧美精品在线| 日韩欧美国产午夜精品| 欧美日韩三级一区二区| av男人天堂一区| 国产福利精品导航|