Commit 308f9e9d authored by Markus Pahlow's avatar Markus Pahlow

add calibration scripts and templates

parent a800e523
&contrl init=.false., runlen=365.e5, rununits='days',
restrt=.true., runstep=365.e3 /
&tsteps dtts=108000., dtuv=1125., dtsf=1125.,
dtatm=54000., namix=10, segtim=5. /
&riglid mxscan=200, sor=1.60, tolrsf=5.e8, tolrsp=1.e-4,
tolrfs=1.e-4 /
&mixing am=1.5e9, ah=8.e6, ahbkg=0., ambi=1.e23, ahbi=5.e22,
kappa_m=10., kappa_h=0.15, aidif=0.5, nmix=16,
eb=.false., ncon=1, cdbot=1.3e-3, acor=0.,
dampts=30.,60.,
dampdz=50.e2,50.e2 /
&diagn tsiint=365., tsiper=365.,
timavgint=36500., timavgper=365.,
restint=36500.,
tavgint=-365000., itavg=.true., tmbint=-365000., itmb=.true.,
trmbint=-365000., itrmb=.true., tbtint=-365000., tbtper=-365.,
glenint=-365000., vmsfint=-365000., stabint=-365000.,
zmbcint=-365000., gyreint=-365000., extint=-365000.,
prxzint=-365000., dspint=-365000., trajint=-365000.,
xbtint=-365000. /
&io expnam=' ',
iotavg=6, iotmb=6, iotrmb=6, iozmbc=6, ioglen=6, iovmsf=6,
iogyre=6, ioprxz=6, ioext=6, iodsp=6, iotsi=-1, iotraj=6,
ioxbt=6, mrot=1, jsot=65, jeot=90, ksot=3, keot=17/
&ictime eqyear=.true., eqmon=.false., refinit=.true., refrun=.false.
init_time_in=.false., init_time_out=.false.,
year0=0, month0=1,day0=1, hour0=0, min0=0, sec0=0 /
&blmix AHV=0.6/
&hlmix /
&isopyc slmx=0.01, ahisop=1.2e7, athkdf=8.e6, del_dm=0.4e-02, s_dm=0.1e-2 /
&ppmix /
&smagnl /
&embm adiff=0.03 /
&carbon co2ccn=284.3 /
&paleo pyear=1850. /
&ice /
&veg /
&mtlm BF=0.5/
&npzd k1n=0.7, capr=0.03, abio=0.6, alpha=0.16, nup=0.03, nupt0=a., redctn=6.625,
geZ=0.40, redotn=10.0, gbio=0.4, wd0=16., nuz=0.06, jdiar=0.4, nud0=a.,
kfe=a.e-3, kfe_D=a.e-3, zprefP=0.25, zprefZ=0.25, zprefDet=0.25, zprefD=0.25/
&cmo fF=0.0, A0=b., alpha=0.4, Q0N=b., Q0P=b./
&cmo fF=1.0, A0=c., alpha=0.5, Q0N=c., Q0P=c./
&cfo phi=d., Imax=d., regex='respire'/
&contrl init=.false., runlen=365.e5, rununits='days',
restrt=.true., runstep=365.e3 /
&tsteps dtts=108000., dtuv=1125., dtsf=1125.,
dtatm=54000., namix=10, segtim=5. /
&riglid mxscan=200, sor=1.60, tolrsf=5.e8, tolrsp=1.e-4,
tolrfs=1.e-4 /
&mixing am=1.5e9, ah=8.e6, ahbkg=0., ambi=1.e23, ahbi=5.e22,
kappa_m=10., kappa_h=0.15, aidif=0.5, nmix=16,
eb=.false., ncon=1, cdbot=1.3e-3, acor=0.,
dampts=30.,60.,
dampdz=50.e2,50.e2 /
&diagn tsiint=365., tsiper=365.,
timavgint=36500., timavgper=365.,
restint=36500.,
tavgint=-365000., itavg=.true., tmbint=-365000., itmb=.true.,
trmbint=-365000., itrmb=.true., tbtint=-365000., tbtper=-365.,
glenint=-365000., vmsfint=-365000., stabint=-365000.,
zmbcint=-365000., gyreint=-365000., extint=-365000.,
prxzint=-365000., dspint=-365000., trajint=-365000.,
xbtint=-365000. /
&io expnam=' ',
iotavg=6, iotmb=6, iotrmb=6, iozmbc=6, ioglen=6, iovmsf=6,
iogyre=6, ioprxz=6, ioext=6, iodsp=6, iotsi=-1, iotraj=6,
ioxbt=6, mrot=1, jsot=65, jeot=90, ksot=3, keot=17/
&ictime eqyear=.true., eqmon=.false., refinit=.true., refrun=.false.
init_time_in=.false., init_time_out=.false.,
year0=0, month0=1,day0=1, hour0=0, min0=0, sec0=0 /
&blmix AHV=0.6/
&hlmix /
&isopyc slmx=0.01, ahisop=1.2e7, athkdf=8.e6, del_dm=0.4e-02, s_dm=0.1e-2 /
&ppmix /
&smagnl /
&embm adiff=0.03 /
&carbon co2ccn=284.3 /
&paleo pyear=1850. /
&ice /
&veg /
&mtlm BF=0.5/
&npzd k1n=0.7, capr=0.03, abio=0.6, alpha=0.16, nup=0.03, nupt0=a., redctn=6.625,
geZ=0.40, redotn=10.0, gbio=0.4, wd0=16., nuz=0.06, jdiar=0.4, nud0=a.,
kfe=a.e-3, kfe_D=a.e-3, zprefP=0.25, zprefZ=0.25, zprefDet=0.25, zprefD=0.25/
&cmo fF=0.0, A0=b., alpha=0.4, Q0N=b., Q0P=b./
&cmo fF=1.0, A0=c., alpha=0.5, Q0N=c., Q0P=c., ftp='orphy', ftNF='houlton'/
&cfo phi=d., Imax=d., regex='respire'/
This diff is collapsed.
#!/bin/bash
config=${1:-OPEM}
numSessions=400
for nSession in $(seq 1 ${numSessions})
do
ctl=control_${nSession}.in.in
cp control.in.${config} ${ctl}
Pname=(nupt0 nud0 kfe kfe_D A0 Q0N Q0P A0 Q0N Q0P phi Imax)
nparam=${#Pname[*]}
file="parameter.txt"
parvec=($(sed -n ${nSession}p parameter.txt))
i=0
while [[ $i -lt $nparam ]]; do
perl -p -i -e "s/${Pname[i]}=a./${Pname[i]}=${parvec[i]}/g" ${ctl}
perl -p -i -e "s/${Pname[i]}=c./${Pname[i]}=${parvec[i+3]}/g if $. == 43" ${ctl}
perl -p -i -e "s/${Pname[i]}=b./${Pname[i]}=${parvec[i]}/g if $. == 42" ${ctl}
perl -p -i -e "s/${Pname[i]}=d./${Pname[i]}=${parvec[i]}/g if $. == 44" ${ctl}
let i++
done
done
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment