#!/home/cger/ggec102/yukiko/bin/ruby

#exp = ["Aa", "Ab", "Ac", "Ad", "Qa", "Qb", "Qc", "Qd"]
exp = ["Aa", "Ab", "Ac", "Ad"]
 
$rad = {"Aa" => ["8.0","6.E-5"],
       "Ab" => ["8.0","4.E-5"],
       "Ac" => ["8.0","2.E-5"],
       "Ad" => ["8.0","5.E-6"],
       "Qa" => ["9.0","5.E-5"],
       "Qb" => ["7.0","5.E-5"],
       "Qc" => ["5.0","5.E-5"],
       "Qd" => ["3.0","5.E-5"], }
$cum = "kuo"


END{

  exp.each{ |num|
    make_namelist(num)
  }
#  make_jobsh

}

#-----------------------------------------------------------------------

def make_jobsh

  sh_data = "#!/bin/sh \ncd #{Dir.pwd} \n"
  Dir.foreach(Dir.pwd) { |item|
#    if item =~ /adj.*mradl.*1000/ then 
#    if item =~ /adj.*mradl.*300/ then 
#    if item =~ /adj.*mradl.*400/ then
    if item =~ /adj.*mradl.*500/ then
 
      sh_data <<  "/home/cger/ggec102/yukiko/agcm5.3-20020620/bin/agcm5.t42l16adj < #{item}/namelist.txt > #{item}/agcm5.log & \n"
    end
  }
  wfile = open("sx6agcm-t400-adj.sh","w") 
  wfile.print sh_data
  wfile.close
  print "sx6agcm-t400-adj.sh create\n"

end

#-----------------------------------------------------------------------

def make_namelist(exp)

# 1000
#  namelist_data = namelist_head_tmean(exp)
#  namelist_data << namelist_item(exp)

# 300
#  namelist_data = namelist_head(exp)

# 400 
  $expnum = 700 ; $expprenum = $expnum - 100
  namelist_data = namelist_head_xteq(exp)
  namelist_data << namelist_item_xteq(exp)

#  dir = "adj700mradl#{exp}300"
#  dir = "adj700mradl#{exp}1000"
  dir = "#{$cum}700mradl#{exp}#{$expnum}"

  Dir.mkdir(dir,0775)  unless  File.exist?(dir)  
  File.delete("#{dir}/namelist.txt") if File.exist?("#{dir}/namelist.txt")
  wfile = open("#{dir}/namelist.txt","w") 
  wfile.print namelist_data
  wfile.close
  print "#{dir}/namelist.txt create\n"

end

#-----------------------------------------------------------------------

def namelist_head(exp)

p exp
p $rad[exp]

namelist_data = <<END_OF_DATA
 &NMRUN RUN='adj700mradl#{exp}', SIGN='ggec102'  &END
 &NMINTG TUNIT='MIN', DELT=20, INISTP=3, TFIL=0.05  &END
 &NMTIME TUNIT='DAY', START=700, END=1000, INTRST=0  &END
 &NMINIT FILE='/petasite/cger/ggec102/yukiko/t42rstsx6/adj700.rst'  &END
 &NMRSTR FILE='/petasite/cger/ggec102/yukiko/t42rstsx6/adj700mradl#{exp}300.rst'  &END
 &NMBFIL HGRSST='/home/cger/ggec102/yukiko/agcm5.3-20020620/src/prep/sx6-sst.init'  &END
 &NMRADL NCLNG=4, ABSQL=#{$rad[exp][0]},1.0,0.1,0.,6*0, ABSAL=0.,0.,0.,#{$rad[exp][1]},6*0, 
         RWGTL=0.2,0.1,0.1,0.6,6*0, PATHC=1.5 &END
 &NMDIAG FILE='CON', UNIT='HOUR', INTDIA=24,
         IDIAG=100, JDIAG=100, KDIAG=-1, NCOLS=80  &END
 &NMMONI ISTR=1, JSTR=4, IINT=10, JINT=100, KINT=100, NCOLS=133   &END
 &NMHISD FILE=' ','CON', TUNIT='HOUR','DAY',
	 INTOUT=6,2, INTSUM=0,0,
         AVRTYP=' ','X', DFORM='UR4',' '  &END
END_OF_DATA
return namelist_data

end


#-----------------------------------------------------------------------

def namelist_head_tmean(exp)

p exp
p $rad[exp]

namelist_data = <<END_OF_DATA
 &NMRUN RUN='adj700mradl#{exp}', SIGN='ggec102'  &END
 &NMINTG TUNIT='MIN', DELT=20, INISTP=3, TFIL=0.05  &END
 &NMTIME TUNIT='DAY', START=1000, END=1700, INTRST=0  &END
 &NMINIT FILE='/petasite/cger/ggec102/yukiko/t42rstsx6/adj700mradl#{exp}300.rst'  &END
 &NMRSTR FILE='/petasite/cger/ggec102/yukiko/t42rstsx6/adj700mradl#{exp}1000.rst'  &END
 &NMBFIL HGRSST='/home/cger/ggec102/yukiko/agcm5.3-20020620/src/prep/sx6-sst.init'  &END
 &NMRADL NCLNG=4, ABSQL=#{$rad[exp][0]},1.0,0.1,0.,6*0, ABSAL=0.,0.,0.,#{$rad[exp][1]},6*0, 
         RWGTL=0.2,0.1,0.1,0.6,6*0, PATHC=1.5 &END
 &NMDIAG FILE='CON', UNIT='HOUR', INTDIA=24,
         IDIAG=100, JDIAG=100, KDIAG=-1, NCOLS=80  &END
 &NMMONI ISTR=1, JSTR=4, IINT=10, JINT=100, KINT=100, NCOLS=133   &END
 &NMHISD FILE=' ','CON', TUNIT='HOUR','DAY',
	 INTOUT=6,2, INTSUM=0,0,
         AVRTYP=' ','X', DFORM='UR4',' '  &END
END_OF_DATA
return namelist_data

end


#-----------------------------------------------------------------------

def namelist_head_xteq(exp)

p exp
p $rad[exp]

stime = $expnum + 600
etime = $expnum + 700

namelist_data = <<END_OF_DATA
 &NMRUN RUN='#{$cum}700mradl#{exp}', SIGN='ggec102'  &END
 &NMINTG TUNIT='MIN', DELT=20, INISTP=3, TFIL=0.05  &END
 &NMTIME TUNIT='DAY', START=#{stime}, END=#{etime}, INTRST=0  &END
# &NMINIT FILE='/petasite/cger/ggec102/yukiko/t42rstsx6/#{$cum}700mradl#{exp}#{$expprenum}.rst'  &END
# &NMRSTR FILE='/petasite/cger/ggec102/yukiko/t42rstsx6/#{$cum}700mradl#{exp}#{$expnum}.rst'  &END
 &NMINIT FILE='/petasite/cger/ggec102/yukiko/t42rstkuo/#{$cum}700mradl#{exp}#{$expprenum}.rst'  &END
 &NMRSTR FILE='/petasite/cger/ggec102/yukiko/t42rstkuo/#{$cum}700mradl#{exp}#{$expnum}.rst'  &END
 &NMBFIL HGRSST='/home/cger/ggec102/yukiko/agcm5.3-20020620/src/prep/sx6-sst.init'  &END
 &NMRADL NCLNG=4, ABSQL=#{$rad[exp][0]},1.0,0.1,0.,6*0, ABSAL=0.,0.,0.,#{$rad[exp][1]},6*0, 
         RWGTL=0.2,0.1,0.1,0.6,6*0, PATHC=1.5 &END
 &NMDIAG FILE='CON', UNIT='HOUR', INTDIA=24,
         IDIAG=100, JDIAG=100, KDIAG=-1, NCOLS=80  &END
 &NMMONI ISTR=1, JSTR=4, IINT=10, JINT=100, KINT=100, NCOLS=133   &END
 &NMHISD FILE=' ','CON', TUNIT='HOUR','DAY',
	 INTOUT=6,2, INTSUM=0,0,
         AVRTYP=' ','X', DFORM='UR4',' '  &END
END_OF_DATA
return namelist_data

end


#-----------------------------------------------------------------------

def namelist_item(exp)

  name = ["evap","lrad","olr","ps","q","qcnd","qradl","qrads","qvdf","rain","scnd","sens","sigdot","slr","t","u","v"]

  namelist_data = ""

  name.each{ |item|

  namelist_data << <<END_OF_DATA
 &NMHIST ITEM='#{item.upcase}', FILE='#{$cum}700mradl#{exp}1000/#{item}.sum',
         TUNIT='DAY',
         INTOUT=700, INTSUM=700,
         AVRTYP=' ', DFORM='UR4'
 &END
END_OF_DATA

  }
  return namelist_data

end



#-----------------------------------------------------------------------

def namelist_item_xteq(exp)

  name = ["evap","lrad","olr","ps","q","qcnd","qradl","qrads","qvdf","scnd","sens","sigdot","slr","t","u","v"]

  namelist_data = ""

  name.each{ |item|

  namelist_data << <<END_OF_DATA
 &NMHIST ITEM='#{item.upcase}', FILE='#{$cum}700mradl#{exp}#{$expnum}/#{item}.out'  &END
END_OF_DATA
  }

  namelist_data << <<END_OF_DATA
 &NMHIST ITEM='RAIN', FILE='#{$cum}700mradl#{exp}#{$expnum}/rain.out','#{$cum}700mradl#{exp}#{$expnum}/rain.sum',
         TUNIT='HOUR','HOUR',
         INTOUT=6,6, INTSUM=0,6,
         AVRTYP=' ',' ', DFORM='UR4','UR4'
 &END
END_OF_DATA

  return namelist_data
end















































