Index: LMDZ6/trunk/bld.cfg
===================================================================
--- LMDZ6/trunk/bld.cfg	(revision 6030)
+++ LMDZ6/trunk/bld.cfg	(revision 6030)
@@ -0,0 +1,121 @@
+# ----------------------- FCM extract configuration file -----------------------
+cfg::type                           bld
+cfg::version                        1.0
+
+
+# ------------------------------------------------------------------------------
+# Build information
+# ------------------------------------------------------------------------------
+
+inc arch.fcm
+inc config.fcm
+
+%CONFIG_NAME       %{ARCH}%SUFF_NAME
+%BASE_CONFIG_PATH  %LIBO/%CONFIG_NAME
+%CONFIG_PATH       %BASE_CONFIG_PATH/.config
+%SRC_PATH          %LIBF
+
+%FFLAGS            %BASE_FFLAGS %COMPIL_FFLAGS %PARA_FFLAGS
+%LD_FLAGS          %BASE_LD %PARA_LD
+
+src::dyn     %SRC_PATH/%DYN
+src::phys    %SRC_PATH/%PHYS
+src::dyn_phys %DYN_PHYS
+src::dyn_phys_sub %DYN_PHYS_SUB
+src::inlandsis  %INLANDSIS
+src::dust    %DUST
+src::strataer %STRATAER
+src::grid    %GRID
+src::filtrez %FILTRE
+src::misc    %SRC_PATH/misc
+src::dyn3d_common   %DYN_COMMON 
+src::phy_common %PHY_COMMON
+src::ext_src %EXT_SRC
+src::Ocean_skin %SRC_PATH/%PHYS/Ocean_skin
+
+# Radiation
+%RAD_SOURCES
+# COSP
+%COSP_SOURCES
+
+src::netcdf95            %ROOT_PATH/tools/netcdf95
+src::netcdf95::Datasets   %ROOT_PATH/tools/netcdf95/Datasets
+src::netcdf95::Groups     %ROOT_PATH/tools/netcdf95/Groups
+src::netcdf95::Variables   %ROOT_PATH/tools/netcdf95/Variables
+src::netcdf95::Attributes %ROOT_PATH/tools/netcdf95/Attributes 
+
+
+bld::lib            lmdz
+
+bld::outfile_ext::exe    %SUFF_NAME
+bld::target              liblmdz.a %EXEC%SUFF_NAME
+bld::exe_dep             
+
+
+dir::root            %CONFIG_PATH
+#dir::lib             %BASE_CONFIG_PATH
+dir::bin             %ROOT_PATH/bin
+
+#search_src           1
+
+bld::tool::fpp       %FPP
+bld::tool::fc        %COMPILER 
+bld::tool::ld        %LINK
+bld::tool::ar        %AR
+bld::tool::arflags   %ARFLAGS
+bld::tool::make      %MAKE
+bld::tool::fflags    %FFLAGS %INCDIR 
+bld::tool::ldflags   %LD_FLAGS %LIB  
+
+bld::tool::cppflags  %FPP_FLAGS %INCDIR
+bld::tool::fppflags  %FPP_FLAGS %INCDIR
+bld::tool::fppkeys   %CPP_KEY %FPP_DEF
+
+
+# Example of how to set specific compiling options for a specific file
+# -> this can be including in the arch.opt file
+#bld::tool::fflags::phys::readaerosol         %BASE_FFLAGS %PROD_FFLAGS  %INCDIR -C hopt -pi auto
+
+
+inc arch.opt
+
+# Pre-process code before analysing dependencies
+bld::pp              1
+
+
+# Ignore the following dependencies
+bld::excl_dep        inc::netcdf.inc
+bld::excl_dep        use::netcdf
+bld::excl_dep        use::typesizes
+bld::excl_dep        h::netcdf.inc
+bld::excl_dep        h::mpif.h
+bld::excl_dep        inc::mpif.h
+bld::excl_dep        use::ioipsl
+bld::excl_dep        use::intersurf
+bld::excl_dep        use::mod_prism_proto
+bld::excl_dep        use::mod_prism_def_partition_proto
+bld::excl_dep        use::mod_prism_get_proto
+bld::excl_dep        use::mod_prism_put_proto
+bld::excl_dep        use::mod_prism
+bld::excl_dep        use::xios
+bld::excl_dep        use::iaxis
+bld::excl_dep        use::iaxis_attr
+bld::excl_dep        use::icontext_attr
+bld::excl_dep        use::idate
+bld::excl_dep        use::idomain_attr
+bld::excl_dep        use::ifield_attr
+bld::excl_dep        use::ifile_attr
+bld::excl_dep        use::ixml_tree
+#bld::excl_dep        use::netcdf95
+# The following for INCA used with CPL
+bld::excl_dep        use::incaoasis
+
+# Don't generate interface files
+bld::tool::geninterface none
+
+# Allow ".inc" as an extension for CPP include files
+bld::infile_ext::inc  CPP::INCLUDE
+
+# extension for module output
+bld::outfile_ext::mod .mod
+bld::tool::SHELL   /bin/bash
Index: LMDZ6/trunk/makelmdz_fcm
===================================================================
--- LMDZ6/trunk/makelmdz_fcm	(revision 6029)
+++ LMDZ6/trunk/makelmdz_fcm	(revision 6030)
@@ -11,4 +11,6 @@
 # FH : arch.mk en lan\c{}cant une premi\`ere fois makegcm.
 #
+# AI : on n'utilise plus qu'un seul bld.cfg 
+# AI   cas rad(rrtm,ecrad,..)/cosp(v1,v2) geres dans makelmdz_fcm
 ##set -x
 set -e
@@ -753,37 +755,93 @@
 rm -f arch.opt
 
-echo "%ARCH          $arch"          >> $config_fcm
-echo "%INCDIR        $INCLUDE"       >> $config_fcm 
-echo "%LIB           $LIB"           >> $config_fcm
-echo "%ROOT_PATH     $PWD"           >> $config_fcm
-echo "%LIBF          $LIBFGCM"       >> $config_fcm
-echo "%LIBO          $LIBOGCM"       >> $config_fcm
-echo "%DYN           $DYN"           >> $config_fcm
-echo "%DYN_COMMON    $DYN_COMMON_PATH" >> $config_fcm
-echo "%PHY_COMMON    $PHY_COMMON_PATH" >> $config_fcm
-echo "%FILTRE        $FILTRE_PATH"   >> $config_fcm
-echo "%PHYS          phy${physique}" >> $config_fcm
-echo "%DYN_PHYS      $DYN_PHYS_PATH" >> $config_fcm
-echo "%DYN_PHYS_SUB  $DYN_PHYS_SUB_PATH" >> $config_fcm
-echo "%GRID          $GRID_PATH" >> $config_fcm
-echo "%RAD           $RAD_PATH"     >> $config_fcm
-echo "%DUST          $DUST_PATH"     >> $config_fcm
-echo "%STRATAER      $STRATAER_PATH" >> $config_fcm
-echo "%INLANDSIS     $INLANDSIS_PATH" >> $config_fcm
-echo "%COSP          $COSP_PATH"     >> $config_fcm
-echo "%CPP_KEY       $CPP_KEY"       >> $config_fcm
-echo "%EXEC          $code"          >> $config_fcm
-echo "%SUFF_NAME     $SUFF_NAME"     >> $config_fcm
-echo "%COMPIL_FFLAGS $COMPIL_FFLAGS" >> $config_fcm
-echo "%PARA_FFLAGS   $PARA_FFLAGS"   >> $config_fcm
-echo "%PARA_LD       $PARA_LD"       >> $config_fcm
-echo "%EXT_SRC       $EXT_SRC"       >> $config_fcm
-
-if [[ "$rad" == "ecrad" || "$rad" == "ecrad-acc" ]]
-then
-\cp bld.cfg.ecrad bld.cfg
-else
-\cp bld.cfg.rrtm bld.cfg
-fi
+if [[ "$rad" == "rrtm" ]] ; then
+RAD_SOURCES="
+src::rad    %RAD
+"
+fi
+if [[ "$rad" == "ecrad" || "$rad" == "ecrad-acc" ]] ; then
+RAD_SOURCES="
+src::rad        %RAD
+src::lmdz       %RAD/lmdz
+src::radiation  %RAD/radiation
+src::ifsrrtm    %RAD/ifsrrtm
+src::ifsaux     %RAD/ifsaux
+src::ecradinc   %RAD/include
+src::ecradhook  %RAD/drhook
+src::ecradutil  %RAD/utilities
+"
+fi
+
+if [[ "$cosp" == "true" ]]; then
+COSP_SOURCES="
+src::cosp %COSP
+"
+elif [[ "$cospv2" == "true" ]]; then
+COSP_SOURCES="
+src::cosp %COSP
+src::cosp::cosp_src %COSP/src
+src::cosp::lmdz_cosp %COSP/lmdz
+src::cosp::cosp_simulator %COSP/src/simulator
+src::cosp::cosp_misr %COSP/src/simulator/MISR_simulator
+src::cosp::cosp_modis %COSP/src/simulator/MODIS_simulator
+src::cosp::cosp_parasol %COSP/src/simulator/parasol
+src::cosp::cosp_icarus %COSP/src/simulator/icarus
+src::cosp::cosp_actsim %COSP/src/simulator/actsim
+src::cosp::cosp_rttov %COSP/src/simulator/rttov
+src::cosp::cosp_quickbeam %COSP/src/simulator/quickbeam
+src::cosp::cosp_utils %COSP/model-interface
+src::cosp::cosp_subcol %COSP/subsample_and_optics_example/subcol
+src::cosp::cosp_subcol_rng %COSP/subsample_and_optics_example/subcol/rng
+src::cosp::cosp_optics %COSP/subsample_and_optics_example/optics
+src::cosp::cosp_optics_quickbeam %COSP/subsample_and_optics_example/optics/quickbeam_optics
+"
+fi
+
+cat >> $config_fcm <<EOF
+%ARCH          $arch
+%INCDIR        $INCLUDE
+%LIB           $LIB
+%ROOT_PATH     $PWD
+%LIBF          $LIBFGCM
+%LIBO          $LIBOGCM
+%DYN           $DYN
+%DYN_COMMON    $DYN_COMMON_PATH
+%PHY_COMMON    $PHY_COMMON_PATH
+%FILTRE        $FILTRE_PATH
+%PHYS          phy${physique}
+%DYN_PHYS      $DYN_PHYS_PATH
+%DYN_PHYS_SUB  $DYN_PHYS_SUB_PATH
+%GRID          $GRID_PATH
+%RAD           $RAD_PATH
+%COSP          $COSP_PATH
+%DUST          $DUST_PATH
+%STRATAER      $STRATAER_PATH
+%INLANDSIS     $INLANDSIS_PATH
+%CPP_KEY       $CPP_KEY
+%EXEC          $code
+%SUFF_NAME     $SUFF_NAME
+%COMPIL_FFLAGS $COMPIL_FFLAGS
+%PARA_FFLAGS   $PARA_FFLAGS
+%PARA_LD       $PARA_LD
+%EXT_SRC       $EXT_SRC
+EOF
+
+cat >> $config_fcm <<EOF
+%RAD_SOURCES
+$RAD_SOURCES
+EOF
+
+cat >> $config_fcm <<EOF
+%COSP_SOURCES
+$COSP_SOURCES
+EOF
+
+# AI inutil retour a 1 seul bld.cfg
+#if [[ "$rad" == "ecrad" || "$rad" == "ecrad-acc" ]]
+#then
+#cp bld.cfg.ecrad bld.cfg
+#else
+#cp bld.cfg.rrtm bld.cfg
+#fi
 
 ln -s arch/arch-${arch}.fcm arch.fcm
