Changeset 1585 for branches/libIGCM_CESMEP/libIGCM_ensemble
- Timestamp:
- 04/25/23 14:26:44 (12 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/libIGCM_CESMEP/libIGCM_ensemble/libIGCM_ensemble.ksh
r1489 r1585 29 29 # : removed Ens_PERTURB_PERTU_MAP_LIST case 30 30 # 31 # Author: Simona Flavoni & Nicola Lebas32 # Contact: Simona.Flavoni__at__locean -ipsl.upmc.fr31 # Author: Simona Flavoni & Nicolas Lebas 32 # Contact: Simona.Flavoni__at__locean.ipsl.fr & Nicolas.Lebas__at__locean.ipsl.fr 33 33 # IPSL (2019) 34 34 #************************************************************** … … 38 38 { 39 39 IGCM_debug_PushStack "IGCM_ensemble_Init" 40 40 41 41 IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_PERTURB active 42 42 IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE active 43 44 Job_Period=10 # PARAMETER USED in function IGCM_ensemble_FilesUpdate 45 43 44 Job_Period=10 # Default PARAMETER USED in function IGCM_ensemble_FilesUpdate 45 answer="" 46 print - "\nHit Enter or give PERIOD_NB for all member's Job (default is 10)" 47 read answer 48 49 if [ "X${answer}" != "X" ] ; then 50 Job_Period=${answer} 51 fi 52 print "\nPeriodNb in ensemble Jobs is ${Job_Period}" 53 46 54 IGCM_debug_Print 1 "Ens_PERTURB ACTIVE = ${ensemble_Ens_PERTURB_active}" 47 55 IGCM_debug_Print 1 "Ens_DATE ACTIVE = ${ensemble_Ens_DATE_active}" 48 56 echo "" 49 57 50 58 #==================================================== 51 59 # Define ARCHIVE : Dedicated to large files … … 55 63 # Define R_BUF : USELESS and DEPRECATED output tree. 56 64 IGCM_sys_defineArchives 57 65 58 66 IGCM_debug_PopStack "IGCM_ensemble_Init" 59 67 } … … 139 147 # ==> config.card 140 148 # [ENSEMBLE] 141 IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleRun 'y'142 149 IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleName $(eval echo $\ensemble_Ens_${EnsembleType}_NAME) 143 150 IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleDate ${HumanDateBegin} 144 151 IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleType "Ens_${EnsembleType}" 152 IGCM_card_WriteOption ${SUBMIT_DIR}/${StartDir}/${MemberDir}/config.card Ensemble EnsembleMergeSave ${ensemble_Ens_DATE_MERGE_SAVE} 145 153 146 154 # [UserChoices] … … 369 377 IGCM_sys_Mkdir ${SUBMIT_DIR}/${StartDir} 370 378 IGCM_sys_Cd ${SUBMIT_DIR}/${StartDir} 371 ln -s ../../.resol . 372 ln -s ../../.libmpi . 379 ln -s ../../.resol . # TODO: remove for future version (>6.1) 380 ln -s ../../.libmpi . # TODO: remove for future version (>6.1) 381 ln -s ../../SOURCES . 382 ln -s ../../ARCH . 373 383 IGCM_sys_Cd ${RUN_DIR} 374 384 fi … … 470 480 IGCM_sys_Mkdir ${SUBMIT_DIR}/${StartDir} 471 481 IGCM_sys_Cd ${SUBMIT_DIR}/${StartDir} 472 ln -s ../../.resol . 473 ln -s ../../.libmpi . 482 ln -s ../../.resol . # TODO: remove for future version (>6.1) 483 ln -s ../../.libmpi . # TODO: remove for future version (>6.1) 484 ln -s ../../SOURCES . 485 ln -s ../../ARCH . 474 486 IGCM_sys_Cd ${RUN_DIR} 475 487 fi … … 773 785 IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE active 774 786 IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE NAME 775 IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE BEGIN_INIT 776 IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE BEGIN_RESTART 777 IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE END_INIT 787 IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE MERGE_SAVE 778 788 IGCM_card_DefineVariableFromOption ${F_CFG_ENS} Ens_DATE STARTDATE 779 789 IGCM_card_DefineArrayFromOption ${F_CFG_ENS} Ens_DATE NONPERIODIC … … 794 804 IGCM_debug_Print 1 "ACTIVE = ${ensemble_Ens_DATE_active}" 795 805 IGCM_debug_Print 1 "NAME = ${ensemble_Ens_DATE_NAME}" 796 IGCM_debug_Print 1 "BEGIN_INIT = ${ensemble_Ens_DATE_BEGIN_INIT}" 797 IGCM_debug_Print 1 "END_INIT = ${ensemble_Ens_DATE_END_INIT}" 798 IGCM_debug_Print 1 "BEGIN_RESTART = ${ensemble_Ens_DATE_BEGIN_RESTART}" 806 IGCM_debug_Print 1 "MERGE_SAVE = ${ensemble_Ens_DATE_MERGE_SAVE}" 799 807 IGCM_debug_Print 1 "STARTDATE = ${ensemble_Ens_DATE_STARTDATE}" 800 808 IGCM_debug_Print 1 "NONPERIODIC = ${ensemble_Ens_DATE_NONPERIODIC[*]}" … … 828 836 # A few checks for the Non-Periodic case: 829 837 # *************************************** 830 # if [[ ${#ensemble_Ens_DATE_NONPERIODIC[*]} != ${#ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} ]] ; then831 # IGCM_debug_Exit "IGCM_ensemble_DateInit: NONPERIODIC and RESTART_NONPERIODIC lists have different sizes"832 # IGCM_debug_Verif_Exit833 # fi834 838 835 839 if [[ ${#ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} > 0 ]] && [[ ${ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} != _0_ ]]; then … … 837 841 838 842 # Use LENGTH if no NONPERIODIC_LENGTH given 839 if [[ ${#ensemble_Ens_DATE_LENGTH_NONPERIODIC[*]} < ${#ensemble_Ens_DATE_NONPERIODIC[*]} ]] || 840 [[ X"${ensemble_Ens_DATE_LENGTH_NONPERIODIC[0]}" = "XOption" ]] ; then 843 if ( [ ${#ensemble_Ens_DATE_LENGTH_NONPERIODIC[*]} -lt ${#ensemble_Ens_DATE_NONPERIODIC[*]} ] || [[ "X${ensemble_Ens_DATE_LENGTH_NONPERIODIC[0]}" = "XOption" ]] ) ; then 841 844 IGCM_debug_Print 1 "WARNING: LENGTH_NONPERIODIC is not fill (or not correctly). " 842 845 IGCM_debug_Print 1 "Use LENGTH value '${ensemble_Ens_DATE_LENGTH}' for all NONPERIODIC runs" 843 844 while [ ${DateNum} -lt ${#ensemble_Ens_DATE_NONPERIODIC[*]} ] ; do845 ensemble_Ens_DATE_LENGTH_NONPERIODIC[${DateNum}]=${ensemble_Ens_DATE_LENGTH}846 (( DateNum = DateNum + 1 ))847 846 DateNum=0 847 while [ ${DateNum} -lt ${#ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} ] ; do 848 ensemble_Ens_DATE_LENGTH_NONPERIODIC[${DateNum}]=${ensemble_Ens_DATE_LENGTH} 849 (( DateNum = DateNum + 1 )) 850 done 848 851 fi 849 852 … … 864 867 IGCM_debug_Print 1 "WARNING: INITFROM_NONPERIODIC is not fill (or not correctly). Use INITFROM value '${ensemble_Ens_DATE_INITFROM}' for all NONPERIODIC runs" 865 868 DateNum=0 866 while [ ${DateNum} -lt ${#ensemble_Ens_DATE_ NONPERIODIC[*]} ] ; do869 while [ ${DateNum} -lt ${#ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} ] ; do 867 870 ensemble_Ens_DATE_INITFROM_NONPERIODIC[${DateNum}]=${ensemble_Ens_DATE_INITFROM} 868 871 (( DateNum = DateNum + 1 )) … … 874 877 IGCM_debug_Print 1 "WARNING: INITPATH_NONPERIODIC is not fill (or not correctly). Use INITPATH value '${ensemble_Ens_DATE_INITPATH}' for all NONPERIODIC runs" 875 878 DateNum=0 876 while [ ${DateNum} -lt ${#ensemble_Ens_DATE_ NONPERIODIC[*]} ] ; do879 while [ ${DateNum} -lt ${#ensemble_Ens_DATE_RESTART_NONPERIODIC[*]} ] ; do 877 880 ensemble_Ens_DATE_INITPATH_NONPERIODIC[${DateNum}]=${ensemble_Ens_DATE_INITPATH} 878 881 (( DateNum = DateNum + 1 )) … … 934 937 IGCM_sys_Mkdir ${SUBMIT_DIR}/${StartDir} 935 938 IGCM_sys_Cd ${SUBMIT_DIR}/${StartDir} 936 ln -s ../../.resol . 937 ln -s ../../.libmpi . 939 ln -s ../../.resol . # TODO: remove for future version (>6.1) 940 ln -s ../../.libmpi . # TODO: remove for future version (>6.1) 941 ln -s ../../SOURCES . 942 ln -s ../../ARCH . 938 943 IGCM_sys_Cd ${RUN_DIR} 939 944 fi … … 949 954 (( ii=DateNum + 1 )) 950 955 951 MemberDir="${ensemble_Ens_DATE_NAME}${ii}" 956 # Member number on 2 digits (01 02 ... 10 11) 957 if (( ii < 10)) then 958 MemberDir="${ensemble_Ens_DATE_NAME}-0${ii}" 959 else 960 MemberDir="${ensemble_Ens_DATE_NAME}-${ii}" 961 fi 952 962 IGCM_debug_Print 3 "${MemberDir}" 953 963 echo "Create: ${MemberDir}"
Note: See TracChangeset
for help on using the changeset viewer.