############
Dans mon script perl, j'ai un truc du genre:
###########
my $tefflow = 7000;
my $teffup = 6750;
my $loggup = '4.5';
my $logglow = '4.0';
my $zlow = '-2.00';
my $zup = '-1.50';
my $newz = '-2.0';
my $newteff = 6800;
my $newg = '4.5';
my $geometry = 'p';
my %data = ( tefflow => $tefflow,
teffup => $teffup,
loggup=> $loggup,
logglow => $logglow,
zup => $zup,
zlow => $zlow,
newz => $newz,
newteff => $newteff,
newg =>$newg,
geometry => $geometry,
);
my $text;
my $is_ok = $template->process( 'Interpol.tpl', \%data, \$text )
|| croak( "Template failed: \n",
$template->error, "\n" );
my $nom_fichier = 'test.dat';
my $script = new IO::File("$nom_fichier", O_WRONLY|O_TRUNC|O_CREAT, 0777);
print $script $text;
######################
Et dans mon fichier Interpol.tpl, j'ai :
######################
#MARCS binary format (.true.) or MARCS ASCII web format (.false.)?
set marcs_binary = '.false.'
#set marcs_binary = '.true.'
set model1 = [%geometry%][%tefflow%]_g+[%logglow%]_m0.0_t02_st_z[%zlow%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model2 = [%geometry%][%tefflow%]_g+[%logglow%]_m0.0_t02_st_z[%zup%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model3 = [%geometry%][%tefflow%]_g+[%loggup%]_m0.0_t02_st_z[%zlow%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model4 = [%geometry%][%tefflow%]_g+[%loggup%]_m0.0_t02_st_z[%zup%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model5 = [%geometry%][%teffup%]_g+[%logglow%]_m0.0_t02_st_z[%zlow%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model6 = [%geometry%][%teffup%]_g+[%logglow%]_m0.0_t02_st_z[%zup%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model7 = [%geometry%][%teffup%]_g+[%loggup%]_m0.0_t02_st_z[%zlow%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model8 = [%geometry%][%teffup%]_g+[%loggup%]_m0.0_t02_st_z[%zup%]_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
#enter here the values requested for the interpolated model
foreach Tref ( [%newteff%])
foreach loggref ([%newg%] )
foreach zref ([%newz%])
set modele_out = Testout/T${Tref}g${loggref}z${zref}.interpol
echo $modele_out
set modele_out2 = Testout/${Tref}g${loggref}z${zref}.alt
echo $modele_out2
#################
Et mon fichier de sortie, c'est :
################
set model1 = p7000_g+4.0_m0.0_t02_st_z-2.00_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model2 = p7000_g+4.0_m0.0_t02_st_z-1.50_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model3 = p7000_g+4.5_m0.0_t02_st_z-2.00_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model4 = p7000_g+4.5_m0.0_t02_st_z-1.50_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model5 = p6750_g+4.0_m0.0_t02_st_z-2.00_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model6 = p6750_g+4.0_m0.0_t02_st_z-1.50_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model7 = p6750_g+4.5_m0.0_t02_st_z-2.00_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
set model8 = p6750_g+4.5_m0.0_t02_st_z-1.50_a+0.40_c+0.00_n+0.00_o+0.40_r+0.00_s+0.00.mod
#enter here the values requested for the interpolated model
foreach Tref ( 6800)
foreach loggref (4.5 )
foreach zref (-2.0)
set modele_out = Testout/T${Tref}g${loggref}z${zref}.interpol
echo $modele_out
set modele_out2 = Testout/${Tref}g${loggref}z${zref}.alt
echo $modele_out2