Index: CONFIG/UNIFORM/v6/README
===================================================================
--- CONFIG/UNIFORM/v6/README	(revision 2049)
+++ CONFIG/UNIFORM/v6/README	(revision 2049)
@@ -0,0 +1,61 @@
+README by Josefine Ghattas
+
+This directory contains configurations in the same family, having the same suffix v5.
+
+Each configuration contains files for compiling : AA_make, AA_make.ldef and for 
+NEMO also the directory scripts. These files are different between the configurations 
+depending on the different models to compile.
+
+Each configuration contains also a EXPERIMENTS and a GENERAL directory. All files in 
+these directories, with the same name and path, are the same between all configurations. 
+But all files are not available in all configurations.
+
+- In the GENERAL directory are found all files needed for all experiments for a 
+specific configuration. The files are divided into sub-directories DRIVER, PARAM and POST.
+
+- In EXPERIMENTS directory are found sub-directories for each experiment. These directories 
+contain the .card files which specifies all in- and output files for the experiment 
+and some parameter set up. 
+
+*** Some exemples
+* For a small configuration LMDZREPR_v5, only files concerning LMDZ and REPROBUS are 
+available in the GENERAL directory. In EXPERIMENTS, only experiments possible with LMDZ 
+and REPROBUS are found : LMDZREPR and LMDZ. 
+
+* In a bigger configuration such as IPSLCM5CHS_v5, more files are found in GENERAL 
+directory. In EXPERIMENTS, all experiments possible with the models included in 
+IPSLCM5CHS_v5 are found : IPSLCM5CHS IPSLCM5 LMDZOR LMDZREPR and LMDZ.
+
+* All EXPERIMENTS/LMDZOR/amip experiments are the same in the different configurations BUT this 
+experiment is not available for LMDZREPR_v5 configuration. 
+
+* The GENERAL/DRIVER/orchidee.driver are the same in all configuration BUT this file does not 
+exist in configuration LMDZREPR_v5.
+
+
+
+*** How to manage these configurations
+A user should extract only the configuration concerning what he/she want to simulate. If the 
+user want to do both IPSLCM5 experiements and LMDZOR experiements with the same executable
+he/she can work with IPSLCM5_v5 configuration and choose different experiements in the 
+EXPERIMENTS directory. Or he/she can extract IPSLCM5_v5 and LMDZOR_v5. 
+
+An administrator that wants to check-in modifications in a configuration is supposed to
+extract this whole directory, v5. She/he is then supposed to modify all configurations in the
+same way and make a global commit in this directory. If there is dought about how a 
+modification will function in the other configurations, the administrator should not do
+the check-in before verifications have been done.
+
+To extract directory v5 containg the corresponding configurations :
+svn co http://forge.ipsl.jussieu.fr/igcmg/svn/CONFIG/UNIFORM/v5 v5
+
+In this directory some scripts are found to help managing the configurations, as well as
+this README :
+* diff_configurations.ksh
+This script can be used to check if all files are the same in the different configurations.
+Syntax : ./diff_configurations.ksh
+
+* propagate_master_config.ksh
+This script can be used to copy modifications done in one configuration to all other
+configurations. The files will be copied only if they exist in both configurations.
+Syntax : ./propagate_master_config config_to_copy
Index: CONFIG/UNIFORM/v6/diff_configurations.ksh
===================================================================
--- CONFIG/UNIFORM/v6/diff_configurations.ksh	(revision 2049)
+++ CONFIG/UNIFORM/v6/diff_configurations.ksh	(revision 2049)
@@ -0,0 +1,64 @@
+#!/bin/ksh
+#
+# Use this script to test if files are the same in all configurations in this directory. All files in the GENERAL, POST and EXPERIMENTS 
+# directories with the same name and path should be the identic before commit to svn. The difference between configurations are the 
+# scripts for compiling and which files are available. 
+#
+# Syntax
+# To test all files in all configurations :
+# ./diff_configuration.ksh
+# To test the files file1 and file2 in all configurations :
+# ./diff_configuration.ksh file1 file2
+# 
+# Josefine Ghattas IPSL
+
+BaseDir=`pwd`
+ConfigFamily=v5
+ConfigList=`ls |grep ${ConfigFamily} |grep -v out`
+verbose=no
+echo All configurations to tests : $ConfigList
+
+if [ $# == 0 ] ; then
+    TestAll="yes"
+    echo "Test all files."
+else
+    TestAll="no"
+    FileList0=$*
+    echo "Test only following files : $FileList0"
+fi
+
+
+for conf in $ConfigList ; do
+    # Construct list of files to test
+    if [ $TestAll = "yes" ] ; then
+	FileList=`ls -d ${conf}/GENERAL/DRIVER/* ${conf}/GENERAL/PARAM/* ${conf}/GENERAL/POST/* ${conf}/EXPERIMENTS/*/*/* ${conf}/EXPERIMENTS/*/*/*/*`
+    else
+	FileList=""
+	for file in $FileList0 ; do
+	    FileList=$( echo $FileList `ls ${conf}/GENERAL/*/$file`)
+	done
+    fi
+
+    for conf2 in $ConfigList ; do
+	if [ $conf2 != $conf ] ; then
+	    for file in $FileList ; do
+	        # Remove conf from path
+		file=$( echo $file | awk -F"${conf}/" '{print $2}' )
+		
+	        # Test if the file exists also in second directory, if yes test difference
+		if [ -f ${conf2}/${file} ] ; then 
+                    # Test if files are different
+		    cmp -s ${conf}/${file}  ${conf2}/${file}
+		    if [ $? -ne 0 ] ; then
+			diff --brief ${conf}/${file}  ${conf2}/${file}
+			if [ $verbose == yes ] ; then
+			    diff  ${conf}/${file}  ${conf2}/${file}
+			    echo
+			fi
+		    fi
+		fi
+	    done
+	fi
+    done
+    
+done
Index: CONFIG/UNIFORM/v6/propagate_master_config.ksh
===================================================================
--- CONFIG/UNIFORM/v6/propagate_master_config.ksh	(revision 2049)
+++ CONFIG/UNIFORM/v6/propagate_master_config.ksh	(revision 2049)
@@ -0,0 +1,83 @@
+#!/bin/ksh
+#set -xv
+#
+# Use this script to propagated modifcations done to files in one configuration
+# into the all other configurations in the same directory. Files will be copied
+# only where they already exist.
+#
+# Syntax :
+# ./propagate_master_config MyConfig
+# Modifcations in MyConfig will be copied to the other configurations.
+
+# Josefine Ghattas IPSL
+
+if [ $# == 0 ] ; then
+    echo "You need to specify the configuration from which the modifications will be propagted"
+    echo "./propagate_master_config MyConfig"
+    exit
+fi
+
+MasterConfig=$1
+verbose=yes
+BaseDir=`pwd`
+ConfigFamily=$( echo $MasterConfig | awk -F"_" '{print $2}' )
+ConfigList=`ls |grep ${ConfigFamily} |grep -v out |grep -v $MasterConfig`
+
+echo  All modifications in configuration $MasterConfig will copied to the other configurations $ConfigList
+
+cd $BaseDir/$MasterConfig
+FileList=`ls -d GENERAL/DRIVER/* GENERAL/PARAM/* GENERAL/POST/* EXPERIMENTS/*/*/* EXPERIMENTS/*/*/*/*`
+
+cpfile=$BaseDir/cpfile
+
+echo "" > $cpfile
+cd $BaseDir
+
+for conf in $ConfigList ; do
+    for file in $FileList ; do
+	if [ -f ${conf}/${file} ] ; then 
+	    cmp -s ${MasterConfig}/${file}  ${conf}/${file}
+	    if [ $? -ne 0 ] ; then
+	    # Files are differents
+		echo "cp ${MasterConfig}/${file} ${conf}/${file}" >> $cpfile
+		if [ $verbose == yes ] ; then
+		    diff  --brief ${MasterConfig}/${file}  ${conf}/${file}
+		    diff  ${MasterConfig}/${file}  ${conf}/${file}
+		fi	    
+	    fi
+	fi
+    done
+echo "" >> $cpfile
+done
+
+# Test if there is nothing to copy
+if [ $( grep cp $cpfile |wc -l ) -eq 0 ] ; then
+    echo "Noting to be done. All files are the same."
+    rm $cpfile
+    exit
+fi
+
+# List files to copy and ask for permission to copy
+echo ""
+cat $cpfile
+
+echo "Would you like to do the actions listed above, answer yes/no ?"
+echo -n " Your answer : "
+read answer
+
+case ${answer} in
+yes|y)
+chmod +x $cpfile
+$cpfile
+echo "Copy has now been done."
+;;
+no|n)
+echo "Nothing will be done"
+;;
+*)
+echo "Bad answer. Nothing will be dnoe"
+;;
+esac
+rm $cpfile
+
+exit
